w-orm-mongodb 1.1.32 → 1.1.34
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/.github/workflows/ci-test.yml +3 -3
- package/README.md +134 -85
- package/babel.config.js +4 -3
- package/dist/w-orm-mongodb.umd.js +2 -2
- package/dist/w-orm-mongodb.umd.js.map +1 -1
- package/docs/WOrmMongodb.html +11 -11
- package/docs/WOrmMongodb.mjs.html +41 -2
- package/docs/index.html +1 -1
- package/g-basic.mjs +16 -29
- package/g-gfs.mjs +10 -20
- package/package.json +6 -6
- package/script.txt +4 -4
- package/src/WOrmMongodb.mjs +40 -1
- package/test/basic.test.mjs +15 -43
- package/test/gfs.test.mjs +8 -25
package/g-basic.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
//import
|
|
1
|
+
import WOrm from './src/WOrmMongodb.mjs'
|
|
2
|
+
//import WOrm from './dist/w-orm-mongodb.umd.js'
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
let opt = {
|
|
@@ -43,19 +43,16 @@ let rsm = [
|
|
|
43
43
|
|
|
44
44
|
async function test() {
|
|
45
45
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
let w = wo(opt)
|
|
49
|
-
|
|
46
|
+
//wo
|
|
47
|
+
let wo = WOrm(opt)
|
|
50
48
|
|
|
51
49
|
//on
|
|
52
|
-
|
|
50
|
+
wo.on('change', function(mode, data, res) {
|
|
53
51
|
console.log('change', mode)
|
|
54
52
|
})
|
|
55
53
|
|
|
56
|
-
|
|
57
54
|
//delAll
|
|
58
|
-
await
|
|
55
|
+
await wo.delAll()
|
|
59
56
|
.then(function(msg) {
|
|
60
57
|
console.log('delAll then', msg)
|
|
61
58
|
})
|
|
@@ -63,9 +60,8 @@ async function test() {
|
|
|
63
60
|
console.log('delAll catch', msg)
|
|
64
61
|
})
|
|
65
62
|
|
|
66
|
-
|
|
67
63
|
//insert
|
|
68
|
-
await
|
|
64
|
+
await wo.insert(rs)
|
|
69
65
|
.then(function(msg) {
|
|
70
66
|
console.log('insert then', msg)
|
|
71
67
|
})
|
|
@@ -73,9 +69,8 @@ async function test() {
|
|
|
73
69
|
console.log('insert catch', msg)
|
|
74
70
|
})
|
|
75
71
|
|
|
76
|
-
|
|
77
72
|
//save
|
|
78
|
-
await
|
|
73
|
+
await wo.save(rsm, { autoInsert: false })
|
|
79
74
|
.then(function(msg) {
|
|
80
75
|
console.log('save then', msg)
|
|
81
76
|
})
|
|
@@ -83,42 +78,35 @@ async function test() {
|
|
|
83
78
|
console.log('save catch', msg)
|
|
84
79
|
})
|
|
85
80
|
|
|
86
|
-
|
|
87
81
|
//select all
|
|
88
|
-
let ss = await
|
|
82
|
+
let ss = await wo.select()
|
|
89
83
|
console.log('select all', ss)
|
|
90
84
|
|
|
91
|
-
|
|
92
85
|
//select
|
|
93
|
-
let so = await
|
|
86
|
+
let so = await wo.select({ id: 'id-rosemary' })
|
|
94
87
|
console.log('select', so)
|
|
95
88
|
|
|
96
|
-
|
|
97
89
|
//select by $and, $gt, $lt
|
|
98
|
-
let spa = await
|
|
90
|
+
let spa = await wo.select({ '$and': [{ value: { '$gt': 123 } }, { value: { '$lt': 200 } }] })
|
|
99
91
|
console.log('select by $and, $gt, $lt', spa)
|
|
100
92
|
|
|
101
|
-
|
|
102
93
|
//select by $or, $gte, $lte
|
|
103
|
-
let spb = await
|
|
94
|
+
let spb = await wo.select({ '$or': [{ value: { '$lte': -1 } }, { value: { '$gte': 200 } }] })
|
|
104
95
|
console.log('select by $or, $gte, $lte', spb)
|
|
105
96
|
|
|
106
|
-
|
|
107
97
|
//select by $or, $and, $ne, $in, $nin
|
|
108
|
-
let spc = await
|
|
98
|
+
let spc = await wo.select({ '$or': [{ '$and': [{ value: { '$ne': 123 } }, { value: { '$in': [123, 321, 123.456, 456] } }, { value: { '$nin': [456, 654] } }] }, { '$or': [{ value: { '$lte': -1 } }, { value: { '$gte': 400 } }] }] })
|
|
109
99
|
console.log('select by $or, $and, $ne, $in, $nin', spc)
|
|
110
100
|
|
|
111
|
-
|
|
112
101
|
//select by regex
|
|
113
|
-
let sr = await
|
|
102
|
+
let sr = await wo.select({ name: { $regex: 'PeT', $options: '$i' } })
|
|
114
103
|
console.log('selectReg', sr)
|
|
115
104
|
|
|
116
|
-
|
|
117
105
|
//del
|
|
118
106
|
let d = ss.filter(function(v) {
|
|
119
107
|
return v.name === 'kettle'
|
|
120
108
|
})
|
|
121
|
-
await
|
|
109
|
+
await wo.del(d)
|
|
122
110
|
.then(function(msg) {
|
|
123
111
|
console.log('del then', msg)
|
|
124
112
|
})
|
|
@@ -126,7 +114,6 @@ async function test() {
|
|
|
126
114
|
console.log('del catch', msg)
|
|
127
115
|
})
|
|
128
116
|
|
|
129
|
-
|
|
130
117
|
}
|
|
131
118
|
test()
|
|
132
119
|
// change delAll
|
|
@@ -173,4 +160,4 @@ test()
|
|
|
173
160
|
// change del
|
|
174
161
|
// del then [ { n: 1, nDeleted: 1, ok: 1 } ]
|
|
175
162
|
|
|
176
|
-
//node
|
|
163
|
+
//node g-basic.mjs
|
package/g-gfs.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import path from 'path'
|
|
2
2
|
import fs from 'fs'
|
|
3
|
-
import
|
|
4
|
-
//import
|
|
3
|
+
import WOrm from './src/WOrmMongodb.mjs'
|
|
4
|
+
//import WOrm from './dist/w-orm-mongodb.umd.js'
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
let opt = {
|
|
@@ -12,40 +12,34 @@ let opt = {
|
|
|
12
12
|
|
|
13
13
|
async function test() {
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
let w = wo(opt)
|
|
18
|
-
|
|
15
|
+
//wo
|
|
16
|
+
let wo = WOrm(opt)
|
|
19
17
|
|
|
20
18
|
//on
|
|
21
|
-
|
|
19
|
+
wo.on('change', function(mode, data, res) {
|
|
22
20
|
console.log('change', mode)
|
|
23
21
|
})
|
|
24
22
|
|
|
25
|
-
|
|
26
23
|
//fn_in, fn_out
|
|
27
24
|
let fn_in = path.resolve('../', './_data', 'data(in).dat')
|
|
28
25
|
let fn_out = path.resolve('../', './_data', 'data(out).dat')
|
|
29
26
|
// console.log('fn_in', fn_in)
|
|
30
27
|
// console.log('fn_out', fn_out)
|
|
31
28
|
|
|
32
|
-
|
|
33
29
|
//unlinkSync
|
|
34
30
|
try {
|
|
35
31
|
fs.unlinkSync(fn_out)
|
|
36
32
|
}
|
|
37
33
|
catch (err) {}
|
|
38
34
|
|
|
39
|
-
|
|
40
35
|
//u8a
|
|
41
36
|
let b = await fs.readFileSync(fn_in)
|
|
42
37
|
let u8a = new Uint8Array(b)
|
|
43
38
|
// let u8a = new Uint8Array([66, 97, 115]) //Uint8Array data from nodejs or browser
|
|
44
39
|
console.log('u8a', u8a)
|
|
45
40
|
|
|
46
|
-
|
|
47
41
|
//delAllGfs
|
|
48
|
-
await
|
|
42
|
+
await wo.delAllGfs()
|
|
49
43
|
.then(function(msg) {
|
|
50
44
|
console.log('delAllGfs then', msg)
|
|
51
45
|
})
|
|
@@ -53,14 +47,12 @@ async function test() {
|
|
|
53
47
|
console.log('delAllGfs catch', msg)
|
|
54
48
|
})
|
|
55
49
|
|
|
56
|
-
|
|
57
50
|
//insertGfs
|
|
58
|
-
let gi = await
|
|
51
|
+
let gi = await wo.insertGfs(u8a)
|
|
59
52
|
console.log('insertGfs', gi)
|
|
60
53
|
|
|
61
|
-
|
|
62
54
|
//selectGfs
|
|
63
|
-
let gs = await
|
|
55
|
+
let gs = await wo.selectGfs(gi.id)
|
|
64
56
|
console.log('selectGfs', gs)
|
|
65
57
|
console.log('gs[0]', gs[0], gs[0] === 0)
|
|
66
58
|
console.log('gs[1]', gs[1], gs[1] === 0)
|
|
@@ -70,12 +62,10 @@ async function test() {
|
|
|
70
62
|
console.log('gs.length', gs.length, gs.length === 47381362)
|
|
71
63
|
fs.writeFileSync(fn_out, gs)
|
|
72
64
|
|
|
73
|
-
|
|
74
65
|
//delGfs
|
|
75
|
-
let gd = await
|
|
66
|
+
let gd = await wo.delGfs(gi.id)
|
|
76
67
|
console.log('delGfs', gd)
|
|
77
68
|
|
|
78
|
-
|
|
79
69
|
}
|
|
80
70
|
test()
|
|
81
71
|
// u8a Uint8Array(47381362) [
|
|
@@ -109,4 +99,4 @@ test()
|
|
|
109
99
|
// change delGfs
|
|
110
100
|
// delGfs { n: 1, nDeleted: 1, ok: 1 }
|
|
111
101
|
|
|
112
|
-
//node
|
|
102
|
+
//node g-gfs.mjs
|
package/package.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "w-orm-mongodb",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.34",
|
|
4
4
|
"main": "dist/w-orm-mongodb.umd.js",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"mongodb": "^6.
|
|
6
|
+
"mongodb": "^6.16.0",
|
|
7
7
|
"saslprep": "^1.0.3",
|
|
8
|
-
"lodash-es": "^4.
|
|
9
|
-
"wsemi": "^1.
|
|
8
|
+
"lodash-es": "^4.18.1",
|
|
9
|
+
"wsemi": "^1.8.66"
|
|
10
10
|
},
|
|
11
11
|
"devDependencies": {
|
|
12
|
-
"w-package-tools": "^1.
|
|
12
|
+
"w-package-tools": "^1.1.11"
|
|
13
13
|
},
|
|
14
14
|
"scripts": {
|
|
15
|
-
"test": "mocha --parallel --timeout 60000
|
|
15
|
+
"test": "mocha --parallel --timeout 60000",
|
|
16
16
|
"deploy": "gh-pages -d docs"
|
|
17
17
|
},
|
|
18
18
|
"repository": {
|
package/script.txt
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
#node
|
|
2
|
-
node
|
|
1
|
+
#node toolg/addVersion.mjs
|
|
2
|
+
node toolg/modifyReadme.mjs
|
|
3
3
|
|
|
4
|
-
node
|
|
4
|
+
node toolg/cleanFolder.mjs
|
|
5
5
|
./node_modules/.bin/jsdoc -c .jsdoc
|
|
6
6
|
|
|
7
|
-
node
|
|
7
|
+
node toolg/gDistRollup.mjs
|
|
8
8
|
|
|
9
9
|
git add . -A
|
|
10
10
|
git commit -m 'modify: '
|
package/src/WOrmMongodb.mjs
CHANGED
|
@@ -8,7 +8,9 @@ import omit from 'lodash-es/omit.js'
|
|
|
8
8
|
import size from 'lodash-es/size.js'
|
|
9
9
|
import genPm from 'wsemi/src/genPm.mjs'
|
|
10
10
|
import genID from 'wsemi/src/genID.mjs'
|
|
11
|
+
import isestr from 'wsemi/src/isestr.mjs'
|
|
11
12
|
import isarr from 'wsemi/src/isarr.mjs'
|
|
13
|
+
import isearr from 'wsemi/src/isearr.mjs'
|
|
12
14
|
import iseobj from 'wsemi/src/iseobj.mjs'
|
|
13
15
|
import pmSeries from 'wsemi/src/pmSeries.mjs'
|
|
14
16
|
|
|
@@ -97,6 +99,7 @@ function WOrmMongodb(opt = {}) {
|
|
|
97
99
|
}
|
|
98
100
|
finally {
|
|
99
101
|
await client.close()
|
|
102
|
+
client = null
|
|
100
103
|
}
|
|
101
104
|
|
|
102
105
|
if (isErr) {
|
|
@@ -116,6 +119,15 @@ function WOrmMongodb(opt = {}) {
|
|
|
116
119
|
async function insert(data) {
|
|
117
120
|
let isErr = false
|
|
118
121
|
|
|
122
|
+
//check
|
|
123
|
+
if (!iseobj(data) && !isearr(data)) {
|
|
124
|
+
return {
|
|
125
|
+
n: 0,
|
|
126
|
+
nInserted: 0,
|
|
127
|
+
ok: 1,
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
119
131
|
//cloneDeep
|
|
120
132
|
data = cloneDeep(data)
|
|
121
133
|
|
|
@@ -139,7 +151,7 @@ function WOrmMongodb(opt = {}) {
|
|
|
139
151
|
|
|
140
152
|
//check id
|
|
141
153
|
data = map(data, function(v) {
|
|
142
|
-
if (!v.id) {
|
|
154
|
+
if (!isestr(v.id)) {
|
|
143
155
|
v.id = genID()
|
|
144
156
|
}
|
|
145
157
|
return v
|
|
@@ -177,6 +189,7 @@ function WOrmMongodb(opt = {}) {
|
|
|
177
189
|
}
|
|
178
190
|
finally {
|
|
179
191
|
await client.close()
|
|
192
|
+
client = null
|
|
180
193
|
}
|
|
181
194
|
|
|
182
195
|
if (isErr) {
|
|
@@ -198,6 +211,11 @@ function WOrmMongodb(opt = {}) {
|
|
|
198
211
|
async function save(data, option = {}) {
|
|
199
212
|
let isErr = false
|
|
200
213
|
|
|
214
|
+
//check
|
|
215
|
+
if (!iseobj(data) && !isearr(data)) {
|
|
216
|
+
return []
|
|
217
|
+
}
|
|
218
|
+
|
|
201
219
|
//cloneDeep
|
|
202
220
|
data = cloneDeep(data)
|
|
203
221
|
|
|
@@ -222,6 +240,14 @@ function WOrmMongodb(opt = {}) {
|
|
|
222
240
|
data = [data]
|
|
223
241
|
}
|
|
224
242
|
|
|
243
|
+
//check id
|
|
244
|
+
data = map(data, function(v) {
|
|
245
|
+
if (!isestr(v.id)) {
|
|
246
|
+
v.id = genID()
|
|
247
|
+
}
|
|
248
|
+
return v
|
|
249
|
+
})
|
|
250
|
+
|
|
225
251
|
//pmSeries
|
|
226
252
|
res = await pmSeries(data, async(v) => {
|
|
227
253
|
|
|
@@ -265,6 +291,7 @@ function WOrmMongodb(opt = {}) {
|
|
|
265
291
|
}
|
|
266
292
|
finally {
|
|
267
293
|
await client.close()
|
|
294
|
+
client = null
|
|
268
295
|
}
|
|
269
296
|
|
|
270
297
|
if (isErr) {
|
|
@@ -284,6 +311,11 @@ function WOrmMongodb(opt = {}) {
|
|
|
284
311
|
async function del(data) {
|
|
285
312
|
let isErr = false
|
|
286
313
|
|
|
314
|
+
//check
|
|
315
|
+
if (!iseobj(data) && !isearr(data)) {
|
|
316
|
+
return []
|
|
317
|
+
}
|
|
318
|
+
|
|
287
319
|
//cloneDeep
|
|
288
320
|
data = cloneDeep(data)
|
|
289
321
|
|
|
@@ -334,6 +366,7 @@ function WOrmMongodb(opt = {}) {
|
|
|
334
366
|
}
|
|
335
367
|
finally {
|
|
336
368
|
await client.close()
|
|
369
|
+
client = null
|
|
337
370
|
}
|
|
338
371
|
|
|
339
372
|
if (isErr) {
|
|
@@ -386,8 +419,10 @@ function WOrmMongodb(opt = {}) {
|
|
|
386
419
|
}
|
|
387
420
|
finally {
|
|
388
421
|
await client.close()
|
|
422
|
+
client = null
|
|
389
423
|
}
|
|
390
424
|
|
|
425
|
+
|
|
391
426
|
if (isErr) {
|
|
392
427
|
return Promise.reject(res)
|
|
393
428
|
}
|
|
@@ -473,6 +508,7 @@ function WOrmMongodb(opt = {}) {
|
|
|
473
508
|
}
|
|
474
509
|
finally {
|
|
475
510
|
await client.close()
|
|
511
|
+
client = null
|
|
476
512
|
}
|
|
477
513
|
|
|
478
514
|
if (isErr) {
|
|
@@ -556,6 +592,7 @@ function WOrmMongodb(opt = {}) {
|
|
|
556
592
|
}
|
|
557
593
|
finally {
|
|
558
594
|
await client.close()
|
|
595
|
+
client = null
|
|
559
596
|
}
|
|
560
597
|
|
|
561
598
|
if (isErr) {
|
|
@@ -659,6 +696,7 @@ function WOrmMongodb(opt = {}) {
|
|
|
659
696
|
}
|
|
660
697
|
finally {
|
|
661
698
|
await client.close()
|
|
699
|
+
client = null
|
|
662
700
|
}
|
|
663
701
|
|
|
664
702
|
if (isErr) {
|
|
@@ -760,6 +798,7 @@ function WOrmMongodb(opt = {}) {
|
|
|
760
798
|
}
|
|
761
799
|
finally {
|
|
762
800
|
await client.close()
|
|
801
|
+
client = null
|
|
763
802
|
}
|
|
764
803
|
|
|
765
804
|
if (isErr) {
|
package/test/basic.test.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import assert from 'assert'
|
|
2
|
-
import
|
|
2
|
+
import WOrm from '../src/WOrmMongodb.mjs'
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
function isWindows() {
|
|
@@ -13,17 +13,14 @@ if (isWindows()) {
|
|
|
13
13
|
let vans = {}
|
|
14
14
|
let vget = {}
|
|
15
15
|
|
|
16
|
-
|
|
17
16
|
before(async function () {
|
|
18
17
|
|
|
19
|
-
|
|
20
18
|
let opt = {
|
|
21
19
|
url: 'mongodb://username:password@127.0.0.1:27017',
|
|
22
20
|
db: 'worm',
|
|
23
21
|
cl: 'users',
|
|
24
22
|
}
|
|
25
23
|
|
|
26
|
-
|
|
27
24
|
let rs = [
|
|
28
25
|
{
|
|
29
26
|
id: 'id-peter',
|
|
@@ -42,7 +39,6 @@ if (isWindows()) {
|
|
|
42
39
|
},
|
|
43
40
|
]
|
|
44
41
|
|
|
45
|
-
|
|
46
42
|
let rsm = [
|
|
47
43
|
{
|
|
48
44
|
id: 'id-peter',
|
|
@@ -58,24 +54,21 @@ if (isWindows()) {
|
|
|
58
54
|
},
|
|
59
55
|
]
|
|
60
56
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
let w = wo(opt)
|
|
64
|
-
|
|
57
|
+
//wo
|
|
58
|
+
let wo = WOrm(opt)
|
|
65
59
|
|
|
66
60
|
//on
|
|
67
|
-
|
|
61
|
+
wo.on('change', function(mode, data, res) {
|
|
68
62
|
// console.log('change', mode)
|
|
69
63
|
})
|
|
70
64
|
|
|
71
|
-
|
|
72
65
|
//delAll
|
|
73
66
|
rt = null
|
|
74
67
|
vans[1] = {
|
|
75
68
|
nDeleted: 2,
|
|
76
69
|
ok: 1,
|
|
77
70
|
}
|
|
78
|
-
await
|
|
71
|
+
await wo.delAll()
|
|
79
72
|
.then(function(msg) {
|
|
80
73
|
// console.log('delAll then', msg)
|
|
81
74
|
//考慮可能有不同初始測試數據
|
|
@@ -93,11 +86,10 @@ if (isWindows()) {
|
|
|
93
86
|
})
|
|
94
87
|
vget[1] = rt
|
|
95
88
|
|
|
96
|
-
|
|
97
89
|
//insert
|
|
98
90
|
rt = null
|
|
99
91
|
vans[2] = { n: 3, nInserted: 3, ok: 1 }
|
|
100
|
-
await
|
|
92
|
+
await wo.insert(rs)
|
|
101
93
|
.then(function(msg) {
|
|
102
94
|
// console.log('insert then', msg)
|
|
103
95
|
// insert then { n: 3, nInserted: 3, ok: 1 }
|
|
@@ -109,7 +101,6 @@ if (isWindows()) {
|
|
|
109
101
|
})
|
|
110
102
|
vget[2] = rt
|
|
111
103
|
|
|
112
|
-
|
|
113
104
|
//save
|
|
114
105
|
rt = null
|
|
115
106
|
vans[3] = [
|
|
@@ -117,7 +108,7 @@ if (isWindows()) {
|
|
|
117
108
|
{ n: 1, nModified: 1, ok: 1 },
|
|
118
109
|
{ n: 0, nModified: 0, ok: 1 }
|
|
119
110
|
]
|
|
120
|
-
await
|
|
111
|
+
await wo.save(rsm, { autoInsert: false })
|
|
121
112
|
.then(function(msg) {
|
|
122
113
|
// console.log('save then', msg)
|
|
123
114
|
// save then [
|
|
@@ -133,7 +124,6 @@ if (isWindows()) {
|
|
|
133
124
|
})
|
|
134
125
|
vget[3] = rt
|
|
135
126
|
|
|
136
|
-
|
|
137
127
|
//select all
|
|
138
128
|
rt = null
|
|
139
129
|
vans[4] = [
|
|
@@ -145,7 +135,7 @@ if (isWindows()) {
|
|
|
145
135
|
value: 456
|
|
146
136
|
}
|
|
147
137
|
]
|
|
148
|
-
await
|
|
138
|
+
await wo.select()
|
|
149
139
|
.then(function(msg) {
|
|
150
140
|
// console.log('select all then', msg)
|
|
151
141
|
// select all [
|
|
@@ -172,11 +162,10 @@ if (isWindows()) {
|
|
|
172
162
|
})
|
|
173
163
|
vget[4] = rt
|
|
174
164
|
|
|
175
|
-
|
|
176
165
|
//select
|
|
177
166
|
rt = null
|
|
178
167
|
vans[5] = [{ id: 'id-rosemary', name: 'rosemary(modify)', value: 123.456 }]
|
|
179
|
-
await
|
|
168
|
+
await wo.select({ id: 'id-rosemary' })
|
|
180
169
|
.then(function(msg) {
|
|
181
170
|
// console.log('select then', msg)
|
|
182
171
|
// select [ { id: 'id-rosemary', name: 'rosemary(modify)', value: 123.456 } ]
|
|
@@ -188,11 +177,10 @@ if (isWindows()) {
|
|
|
188
177
|
})
|
|
189
178
|
vget[5] = rt
|
|
190
179
|
|
|
191
|
-
|
|
192
180
|
//select by $and, $gt, $lt
|
|
193
181
|
rt = null
|
|
194
182
|
vans[6] = [{ id: 'id-rosemary', name: 'rosemary(modify)', value: 123.456 }]
|
|
195
|
-
await
|
|
183
|
+
await wo.select({ '$and': [{ value: { '$gt': 123 } }, { value: { '$lt': 200 } }] })
|
|
196
184
|
.then(function(msg) {
|
|
197
185
|
// console.log('select by $and, $gt, $lt then', msg)
|
|
198
186
|
// select by $and, $gt, $lt [ { id: 'id-rosemary', name: 'rosemary(modify)', value: 123.456 } ]
|
|
@@ -204,7 +192,6 @@ if (isWindows()) {
|
|
|
204
192
|
})
|
|
205
193
|
vget[6] = rt
|
|
206
194
|
|
|
207
|
-
|
|
208
195
|
//select by $or, $gte, $lte
|
|
209
196
|
rt = null
|
|
210
197
|
vans[7] = [
|
|
@@ -214,7 +201,7 @@ if (isWindows()) {
|
|
|
214
201
|
value: 456
|
|
215
202
|
}
|
|
216
203
|
]
|
|
217
|
-
await
|
|
204
|
+
await wo.select({ '$or': [{ value: { '$lte': -1 } }, { value: { '$gte': 200 } }] })
|
|
218
205
|
.then(function(msg) {
|
|
219
206
|
// console.log('select by $or, $gte, $lte then', msg)
|
|
220
207
|
// select by $or, $gte, $lte [
|
|
@@ -237,7 +224,6 @@ if (isWindows()) {
|
|
|
237
224
|
})
|
|
238
225
|
vget[7] = rt
|
|
239
226
|
|
|
240
|
-
|
|
241
227
|
//select by $or, $and, $ne, $in, $nin
|
|
242
228
|
rt = null
|
|
243
229
|
vans[8] = [
|
|
@@ -252,7 +238,7 @@ if (isWindows()) {
|
|
|
252
238
|
value: 456
|
|
253
239
|
}
|
|
254
240
|
]
|
|
255
|
-
await
|
|
241
|
+
await wo.select({ '$or': [{ '$and': [{ value: { '$ne': 123 } }, { value: { '$in': [123, 321, 123.456, 456] } }, { value: { '$nin': [456, 654] } }] }, { '$or': [{ value: { '$lte': -1 } }, { value: { '$gte': 400 } }] }] })
|
|
256
242
|
.then(function(msg) {
|
|
257
243
|
// console.log('select by $or, $and, $ne, $in, $nin then', msg)
|
|
258
244
|
// select by $or, $and, $ne, $in, $nin [
|
|
@@ -281,11 +267,10 @@ if (isWindows()) {
|
|
|
281
267
|
})
|
|
282
268
|
vget[8] = rt
|
|
283
269
|
|
|
284
|
-
|
|
285
270
|
//select by regex
|
|
286
271
|
rt = null
|
|
287
272
|
vans[9] = [{ id: 'id-peter', name: 'peter(modify)', value: 123 }]
|
|
288
|
-
await
|
|
273
|
+
await wo.select({ name: { $regex: 'PeT', $options: '$i' } })
|
|
289
274
|
.then(function(msg) {
|
|
290
275
|
// console.log('select by regex then', msg)
|
|
291
276
|
// selectReg [ { id: 'id-peter', name: 'peter(modify)', value: 123 } ]
|
|
@@ -297,15 +282,14 @@ if (isWindows()) {
|
|
|
297
282
|
})
|
|
298
283
|
vget[9] = rt
|
|
299
284
|
|
|
300
|
-
|
|
301
285
|
//del
|
|
302
286
|
rt = null
|
|
303
287
|
vans[10] = [{ n: 1, nDeleted: 1, ok: 1 }]
|
|
304
|
-
let ss = await
|
|
288
|
+
let ss = await wo.select()
|
|
305
289
|
let d = ss.filter(function(v) {
|
|
306
290
|
return v.name === 'kettle'
|
|
307
291
|
})
|
|
308
|
-
await
|
|
292
|
+
await wo.del(d)
|
|
309
293
|
.then(function(msg) {
|
|
310
294
|
// console.log('del then', msg)
|
|
311
295
|
// del then [ { n: 1, nDeleted: 1, ok: 1 } ]
|
|
@@ -317,60 +301,48 @@ if (isWindows()) {
|
|
|
317
301
|
})
|
|
318
302
|
vget[10] = rt
|
|
319
303
|
|
|
320
|
-
|
|
321
304
|
})
|
|
322
305
|
|
|
323
|
-
|
|
324
306
|
it(`should get ${JSON.stringify(vans[1])} for delAll`, async function() {
|
|
325
307
|
assert.strict.deepStrictEqual(vget[1], vans[1])
|
|
326
308
|
})
|
|
327
309
|
|
|
328
|
-
|
|
329
310
|
it(`should get ${JSON.stringify(vans[2])} for insert`, async function() {
|
|
330
311
|
assert.strict.deepStrictEqual(vget[2], vans[2])
|
|
331
312
|
})
|
|
332
313
|
|
|
333
|
-
|
|
334
314
|
it(`should get ${JSON.stringify(vans[3])} for save`, async function() {
|
|
335
315
|
assert.strict.deepStrictEqual(vget[3], vans[3])
|
|
336
316
|
})
|
|
337
317
|
|
|
338
|
-
|
|
339
318
|
it(`should get ${JSON.stringify(vans[4])} for select all`, async function() {
|
|
340
319
|
assert.strict.deepStrictEqual(vget[4], vans[4])
|
|
341
320
|
})
|
|
342
321
|
|
|
343
|
-
|
|
344
322
|
it(`should get ${JSON.stringify(vans[5])} for select`, async function() {
|
|
345
323
|
assert.strict.deepStrictEqual(vget[5], vans[5])
|
|
346
324
|
})
|
|
347
325
|
|
|
348
|
-
|
|
349
326
|
it(`should get ${JSON.stringify(vans[6])} for select by $and, $gt, $lt`, async function() {
|
|
350
327
|
assert.strict.deepStrictEqual(vget[6], vans[6])
|
|
351
328
|
})
|
|
352
329
|
|
|
353
|
-
|
|
354
330
|
it(`should get ${JSON.stringify(vans[7])} for select by $or, $gte, $lte`, async function() {
|
|
355
331
|
assert.strict.deepStrictEqual(vget[7], vans[7])
|
|
356
332
|
})
|
|
357
333
|
|
|
358
|
-
|
|
359
334
|
it(`should get ${JSON.stringify(vans[8])} for select by $or, $and, $ne, $in, $nin`, async function() {
|
|
360
335
|
assert.strict.deepStrictEqual(vget[8], vans[8])
|
|
361
336
|
})
|
|
362
337
|
|
|
363
|
-
|
|
364
338
|
it(`should get ${JSON.stringify(vans[9])} for select by regex`, async function() {
|
|
365
339
|
assert.strict.deepStrictEqual(vget[9], vans[9])
|
|
366
340
|
})
|
|
367
341
|
|
|
368
|
-
|
|
369
342
|
it(`should get ${JSON.stringify(vans[10])} for del`, async function() {
|
|
370
343
|
assert.strict.deepStrictEqual(vget[10], vans[10])
|
|
371
344
|
})
|
|
372
345
|
|
|
373
|
-
|
|
374
346
|
})
|
|
375
347
|
}
|
|
376
348
|
|