@e22m4u/js-repository-mongodb-adapter 0.2.1 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README-ru.md +81 -0
- package/README.md +21 -19
- package/package.json +12 -12
package/README-ru.md
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
## @e22m4u/js-repository-mongodb-adapter
|
|
2
|
+
|
|
3
|
+
*[English](README.md) | Русский*
|
|
4
|
+
|
|
5
|
+
MongoDB адаптер для [@e22m4u/js-repository](https://www.npmjs.com/package/@e22m4u/js-repository)
|
|
6
|
+
|
|
7
|
+
## Установка
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install @e22m4u/js-repository-mongodb-adapter
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Параметры
|
|
14
|
+
|
|
15
|
+
Все указанные параметры опциональны:
|
|
16
|
+
|
|
17
|
+
| название | значение по умолчанию |
|
|
18
|
+
|----------|-----------------------|
|
|
19
|
+
| protocol | `'mongodb'` |
|
|
20
|
+
| host | `'127.0.0.1'` |
|
|
21
|
+
| port | `27017` |
|
|
22
|
+
| database | `'database'` |
|
|
23
|
+
| username | `undefined` |
|
|
24
|
+
| password | `undefined` |
|
|
25
|
+
|
|
26
|
+
Пример:
|
|
27
|
+
|
|
28
|
+
```js
|
|
29
|
+
import {Schema} from '@e22m4u/js-repository';
|
|
30
|
+
|
|
31
|
+
const schema = new Schema();
|
|
32
|
+
|
|
33
|
+
// объявление источника
|
|
34
|
+
schema.defineDatasource({
|
|
35
|
+
name: 'myMongo', // название источника
|
|
36
|
+
adapter: 'mongodb', // имя адаптера
|
|
37
|
+
// параметры
|
|
38
|
+
host: '127.0.0.1',
|
|
39
|
+
port: 27017,
|
|
40
|
+
database: 'myDatabase',
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
// объявление модели
|
|
44
|
+
schema.defineModel({
|
|
45
|
+
name: 'user', // название модели
|
|
46
|
+
datasource: 'myMongo', // используемый источник (см. выше)
|
|
47
|
+
properties: { // поля модели
|
|
48
|
+
name: 'string',
|
|
49
|
+
surname: 'string',
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
// получаем репозиторий по названию модели и создаем запись
|
|
54
|
+
const userRep = schema.getRepository('user');
|
|
55
|
+
const user = await userRep.create({name: 'John', surname: 'Doe'});
|
|
56
|
+
|
|
57
|
+
console.log(user);
|
|
58
|
+
// {
|
|
59
|
+
// id: '64f3454e5e0893c13f9bf47e',
|
|
60
|
+
// name: 'John',
|
|
61
|
+
// surname: 'Doe',
|
|
62
|
+
// }
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Тесты
|
|
66
|
+
|
|
67
|
+
Запуск контейнера `mongo:latest` скриптом `setup.sh`
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
./setup.sh
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Выполнение тестов
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
npm run test
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Лицензия
|
|
80
|
+
|
|
81
|
+
MIT
|
package/README.md
CHANGED
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
## @e22m4u/js-repository-mongodb-adapter
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
*English | [Русский](README-ru.md)*
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
MongoDB adapter for [@e22m4u/js-repository](https://www.npmjs.com/package/@e22m4u/js-repository)
|
|
6
|
+
|
|
7
|
+
## Installation
|
|
6
8
|
|
|
7
9
|
```bash
|
|
8
10
|
npm install @e22m4u/js-repository-mongodb-adapter
|
|
9
11
|
```
|
|
10
12
|
|
|
11
|
-
##
|
|
13
|
+
## Configuration
|
|
12
14
|
|
|
13
|
-
|
|
15
|
+
All parameters are optional:
|
|
14
16
|
|
|
15
|
-
|
|
|
17
|
+
| name | default value |
|
|
16
18
|
|----------|-----------------------|
|
|
17
19
|
| protocol | `'mongodb'` |
|
|
18
20
|
| host | `'127.0.0.1'` |
|
|
@@ -21,34 +23,34 @@ npm install @e22m4u/js-repository-mongodb-adapter
|
|
|
21
23
|
| username | `undefined` |
|
|
22
24
|
| password | `undefined` |
|
|
23
25
|
|
|
24
|
-
|
|
26
|
+
Example:
|
|
25
27
|
|
|
26
28
|
```js
|
|
27
29
|
import {Schema} from '@e22m4u/js-repository';
|
|
28
30
|
|
|
29
31
|
const schema = new Schema();
|
|
30
32
|
|
|
31
|
-
//
|
|
33
|
+
// define datasource
|
|
32
34
|
schema.defineDatasource({
|
|
33
|
-
name: 'myMongo', //
|
|
34
|
-
adapter: 'mongodb', //
|
|
35
|
-
//
|
|
35
|
+
name: 'myMongo', // datasource name
|
|
36
|
+
adapter: 'mongodb', // adapter name
|
|
37
|
+
// configuration
|
|
36
38
|
host: '127.0.0.1',
|
|
37
39
|
port: 27017,
|
|
38
40
|
database: 'myDatabase',
|
|
39
41
|
});
|
|
40
42
|
|
|
41
|
-
//
|
|
43
|
+
// define model
|
|
42
44
|
schema.defineModel({
|
|
43
|
-
name: 'user', //
|
|
44
|
-
datasource: 'myMongo', //
|
|
45
|
-
properties: { //
|
|
45
|
+
name: 'user', // model name
|
|
46
|
+
datasource: 'myMongo', // datasource name (see above)
|
|
47
|
+
properties: { // model fields
|
|
46
48
|
name: 'string',
|
|
47
49
|
surname: 'string',
|
|
48
50
|
},
|
|
49
51
|
});
|
|
50
52
|
|
|
51
|
-
//
|
|
53
|
+
// get repository by model name and create a record
|
|
52
54
|
const userRep = schema.getRepository('user');
|
|
53
55
|
const user = await userRep.create({name: 'John', surname: 'Doe'});
|
|
54
56
|
|
|
@@ -60,20 +62,20 @@ console.log(user);
|
|
|
60
62
|
// }
|
|
61
63
|
```
|
|
62
64
|
|
|
63
|
-
##
|
|
65
|
+
## Testing
|
|
64
66
|
|
|
65
|
-
|
|
67
|
+
Start `mongo:latest` container using `setup.sh` script.
|
|
66
68
|
|
|
67
69
|
```bash
|
|
68
70
|
./setup.sh
|
|
69
71
|
```
|
|
70
72
|
|
|
71
|
-
|
|
73
|
+
Run tests
|
|
72
74
|
|
|
73
75
|
```bash
|
|
74
76
|
npm run test
|
|
75
77
|
```
|
|
76
78
|
|
|
77
|
-
##
|
|
79
|
+
## License
|
|
78
80
|
|
|
79
81
|
MIT
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@e22m4u/js-repository-mongodb-adapter",
|
|
3
|
-
"version": "0.2
|
|
4
|
-
"description": "MongoDB
|
|
3
|
+
"version": "0.3.2",
|
|
4
|
+
"description": "MongoDB adapter for @e22m4u/js-repository",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"module": "./src/index.js",
|
|
7
7
|
"main": "./dist/cjs/index.cjs",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"require": "./dist/cjs/index.cjs"
|
|
11
11
|
},
|
|
12
12
|
"engines": {
|
|
13
|
-
"node": ">=
|
|
13
|
+
"node": ">=16.20.1"
|
|
14
14
|
},
|
|
15
15
|
"scripts": {
|
|
16
16
|
"lint": "eslint ./src",
|
|
@@ -38,30 +38,30 @@
|
|
|
38
38
|
"license": "MIT",
|
|
39
39
|
"homepage": "https://github.com/e22m4u/js-repository-mongodb-adapter",
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"mongodb": "
|
|
41
|
+
"mongodb": "6.11.0"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
44
|
-
"@e22m4u/js-format": "0.1.
|
|
44
|
+
"@e22m4u/js-format": "~0.1.0",
|
|
45
45
|
"@e22m4u/js-repository": "~0.2.4",
|
|
46
|
-
"@e22m4u/js-service": "0.2.
|
|
46
|
+
"@e22m4u/js-service": "~0.2.0"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"@commitlint/cli": "~19.6.0",
|
|
50
50
|
"@commitlint/config-conventional": "~19.6.0",
|
|
51
|
-
"@eslint/js": "~9.
|
|
51
|
+
"@eslint/js": "~9.16.0",
|
|
52
52
|
"c8": "~10.1.2",
|
|
53
53
|
"chai": "~5.1.2",
|
|
54
54
|
"chai-as-promised": "~8.0.1",
|
|
55
|
-
"dotenv": "~16.4.
|
|
55
|
+
"dotenv": "~16.4.7",
|
|
56
56
|
"esbuild": "~0.24.0",
|
|
57
|
-
"eslint": "~9.
|
|
57
|
+
"eslint": "~9.16.0",
|
|
58
58
|
"eslint-config-prettier": "~9.1.0",
|
|
59
59
|
"eslint-plugin-chai-expect": "~3.1.0",
|
|
60
60
|
"eslint-plugin-mocha": "~10.5.0",
|
|
61
|
-
"globals": "~15.
|
|
61
|
+
"globals": "~15.13.0",
|
|
62
62
|
"husky": "~9.1.7",
|
|
63
|
-
"mocha": "~
|
|
64
|
-
"prettier": "~3.
|
|
63
|
+
"mocha": "~11.0.1",
|
|
64
|
+
"prettier": "~3.4.2",
|
|
65
65
|
"rimraf": "~6.0.1"
|
|
66
66
|
}
|
|
67
67
|
}
|