w-orm-lmdb 1.0.3 → 1.0.5
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.md +21 -0
- package/dist/req-mingo.umd.js +2 -2
- package/dist/req-mingo.umd.js.map +1 -1
- package/dist/w-orm-lmdb.umd.js +2 -2
- package/dist/w-orm-lmdb.umd.js.map +1 -1
- package/docs/WOrmLmdb.html +6 -6
- package/docs/WOrmLmdb.mjs.html +99 -21
- package/docs/index.html +1 -1
- package/g-basic.mjs +19 -0
- package/package.json +6 -6
- package/src/WOrmLmdb.mjs +98 -20
- package/test/basic.test.mjs +37 -5
package/docs/WOrmLmdb.mjs.html
CHANGED
|
@@ -78,6 +78,9 @@ import waitFun from 'wsemi/src/waitFun.mjs'
|
|
|
78
78
|
*/
|
|
79
79
|
function WOrmLmdb(opt = {}) {
|
|
80
80
|
|
|
81
|
+
//_cache
|
|
82
|
+
let _cache = null
|
|
83
|
+
|
|
81
84
|
//url
|
|
82
85
|
let url = get(opt, 'url')
|
|
83
86
|
if (!isestr(url)) {
|
|
@@ -112,7 +115,11 @@ function WOrmLmdb(opt = {}) {
|
|
|
112
115
|
|
|
113
116
|
//getData
|
|
114
117
|
let getData = async() => {
|
|
115
|
-
|
|
118
|
+
|
|
119
|
+
//check
|
|
120
|
+
if (isarr(_cache)) {
|
|
121
|
+
return cloneDeep(_cache) //與外部使用數據脫勾
|
|
122
|
+
}
|
|
116
123
|
|
|
117
124
|
//waitFun
|
|
118
125
|
await waitFun(() => {
|
|
@@ -121,18 +128,19 @@ function WOrmLmdb(opt = {}) {
|
|
|
121
128
|
}
|
|
122
129
|
return client.status === 'open'
|
|
123
130
|
})
|
|
124
|
-
|
|
125
131
|
// console.log('client.status',client.status)
|
|
132
|
+
|
|
133
|
+
//ltdt
|
|
126
134
|
let ltdt = []
|
|
127
135
|
for await (let { value: dt } of client.getRange()) {
|
|
128
136
|
// console.log('dt',dt)
|
|
129
137
|
ltdt.push(dt)
|
|
130
138
|
}
|
|
131
139
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
return ltdt
|
|
140
|
+
//update
|
|
141
|
+
_cache = ltdt
|
|
142
|
+
|
|
143
|
+
return cloneDeep(ltdt) //與外部使用數據脫勾
|
|
136
144
|
}
|
|
137
145
|
|
|
138
146
|
//getValue
|
|
@@ -277,18 +285,33 @@ function WOrmLmdb(opt = {}) {
|
|
|
277
285
|
ok: 1,
|
|
278
286
|
}
|
|
279
287
|
|
|
280
|
-
//emit
|
|
281
|
-
ee.emit('change', 'insert', data, res)
|
|
282
|
-
|
|
283
288
|
}
|
|
284
289
|
catch (err) {
|
|
285
290
|
isErr = true
|
|
286
291
|
res = err
|
|
287
292
|
}
|
|
288
293
|
|
|
294
|
+
//update, 不能保證插入多少, 一律重設快取
|
|
295
|
+
_cache = null
|
|
296
|
+
|
|
297
|
+
//emit, 於change可能須使用select, 故須放在重設快取之後
|
|
298
|
+
if (!isErr) {
|
|
299
|
+
try {
|
|
300
|
+
|
|
301
|
+
//emit
|
|
302
|
+
ee.emit('change', 'insert', data, res)
|
|
303
|
+
|
|
304
|
+
}
|
|
305
|
+
catch (err) {
|
|
306
|
+
console.log(err)
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
//check
|
|
289
311
|
if (isErr) {
|
|
290
312
|
return Promise.reject(res)
|
|
291
313
|
}
|
|
314
|
+
|
|
292
315
|
return res
|
|
293
316
|
}
|
|
294
317
|
|
|
@@ -341,8 +364,11 @@ function WOrmLmdb(opt = {}) {
|
|
|
341
364
|
//查找資料表內v.id
|
|
342
365
|
let vv = await getValue(v.id) //不會有catch
|
|
343
366
|
|
|
367
|
+
//existed
|
|
368
|
+
let existed = iseobj(vv)
|
|
369
|
+
|
|
344
370
|
//check
|
|
345
|
-
if (
|
|
371
|
+
if (existed) {
|
|
346
372
|
//已存在v.id
|
|
347
373
|
if (isEqual(v, vv)) {
|
|
348
374
|
//內容相同不更新
|
|
@@ -356,6 +382,9 @@ function WOrmLmdb(opt = {}) {
|
|
|
356
382
|
rest = { update: true }
|
|
357
383
|
}
|
|
358
384
|
}
|
|
385
|
+
else {
|
|
386
|
+
//內容不存在
|
|
387
|
+
}
|
|
359
388
|
|
|
360
389
|
//rest
|
|
361
390
|
if (iseobj(rest)) {
|
|
@@ -372,27 +401,46 @@ function WOrmLmdb(opt = {}) {
|
|
|
372
401
|
ok: 1,
|
|
373
402
|
}
|
|
374
403
|
}
|
|
404
|
+
//rest.n === 0:
|
|
405
|
+
// 內容相同不更新, 不須update
|
|
406
|
+
// 內容不存在, 若autoInsert則須insert
|
|
375
407
|
|
|
376
408
|
//autoInsert
|
|
377
|
-
if (autoInsert && rest.n === 0) {
|
|
409
|
+
if (autoInsert && rest.n === 0 && !existed) {
|
|
410
|
+
// console.log('insert(v)', v)
|
|
378
411
|
rest = await insert(v)
|
|
379
412
|
}
|
|
380
413
|
|
|
381
414
|
return rest
|
|
382
415
|
})
|
|
383
416
|
|
|
384
|
-
//emit
|
|
385
|
-
ee.emit('change', 'save', data, res)
|
|
386
|
-
|
|
387
417
|
}
|
|
388
418
|
catch (err) {
|
|
389
419
|
isErr = true
|
|
390
420
|
res = err
|
|
391
421
|
}
|
|
392
422
|
|
|
423
|
+
//update, 不能保證變更多少, 一律重設快取
|
|
424
|
+
_cache = null
|
|
425
|
+
|
|
426
|
+
//emit, 於change可能須使用select, 故須放在重設快取之後
|
|
427
|
+
if (!isErr) {
|
|
428
|
+
try {
|
|
429
|
+
|
|
430
|
+
//emit
|
|
431
|
+
ee.emit('change', 'save', data, res)
|
|
432
|
+
|
|
433
|
+
}
|
|
434
|
+
catch (err) {
|
|
435
|
+
console.log(err)
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
//check
|
|
393
440
|
if (isErr) {
|
|
394
441
|
return Promise.reject(res)
|
|
395
442
|
}
|
|
443
|
+
|
|
396
444
|
return res
|
|
397
445
|
}
|
|
398
446
|
|
|
@@ -481,18 +529,33 @@ function WOrmLmdb(opt = {}) {
|
|
|
481
529
|
return rest
|
|
482
530
|
})
|
|
483
531
|
|
|
484
|
-
//emit
|
|
485
|
-
ee.emit('change', 'del', data, res)
|
|
486
|
-
|
|
487
532
|
}
|
|
488
533
|
catch (err) {
|
|
489
534
|
isErr = true
|
|
490
535
|
res = err
|
|
491
536
|
}
|
|
492
537
|
|
|
538
|
+
//update, 不能保證刪除多少, 一律重設快取
|
|
539
|
+
_cache = null
|
|
540
|
+
|
|
541
|
+
//emit, 於change可能須使用select, 故須放在重設快取之後
|
|
542
|
+
if (!isErr) {
|
|
543
|
+
try {
|
|
544
|
+
|
|
545
|
+
//emit
|
|
546
|
+
ee.emit('change', 'del', data, res)
|
|
547
|
+
|
|
548
|
+
}
|
|
549
|
+
catch (err) {
|
|
550
|
+
console.log(err)
|
|
551
|
+
}
|
|
552
|
+
}
|
|
553
|
+
|
|
554
|
+
//check
|
|
493
555
|
if (isErr) {
|
|
494
556
|
return Promise.reject(res)
|
|
495
557
|
}
|
|
558
|
+
|
|
496
559
|
return res
|
|
497
560
|
}
|
|
498
561
|
|
|
@@ -580,18 +643,33 @@ function WOrmLmdb(opt = {}) {
|
|
|
580
643
|
ok: 1,
|
|
581
644
|
}
|
|
582
645
|
|
|
583
|
-
//emit
|
|
584
|
-
ee.emit('change', 'delAll', null, res)
|
|
585
|
-
|
|
586
646
|
}
|
|
587
647
|
catch (err) {
|
|
588
648
|
isErr = true
|
|
589
649
|
res = err
|
|
590
650
|
}
|
|
591
651
|
|
|
652
|
+
//update, 不能保證刪除多少, 一律重設快取
|
|
653
|
+
_cache = null
|
|
654
|
+
|
|
655
|
+
//emit, 於change可能須使用select, 故須放在重設快取之後
|
|
656
|
+
if (!isErr) {
|
|
657
|
+
try {
|
|
658
|
+
|
|
659
|
+
//emit
|
|
660
|
+
ee.emit('change', 'delAll', null, res)
|
|
661
|
+
|
|
662
|
+
}
|
|
663
|
+
catch (err) {
|
|
664
|
+
console.log(err)
|
|
665
|
+
}
|
|
666
|
+
}
|
|
667
|
+
|
|
668
|
+
//check
|
|
592
669
|
if (isErr) {
|
|
593
670
|
return Promise.reject(res)
|
|
594
671
|
}
|
|
672
|
+
|
|
595
673
|
return res
|
|
596
674
|
}
|
|
597
675
|
|
|
@@ -621,7 +699,7 @@ export default WOrmLmdb
|
|
|
621
699
|
<br class="clear">
|
|
622
700
|
|
|
623
701
|
<footer>
|
|
624
|
-
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.
|
|
702
|
+
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Thu May 14 2026 19:53:45 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
|
625
703
|
</footer>
|
|
626
704
|
|
|
627
705
|
<script>prettyPrint();</script>
|
package/docs/index.html
CHANGED
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
<br class="clear">
|
|
72
72
|
|
|
73
73
|
<footer>
|
|
74
|
-
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.
|
|
74
|
+
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Thu May 14 2026 19:53:45 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
|
75
75
|
</footer>
|
|
76
76
|
|
|
77
77
|
<script>prettyPrint();</script>
|
package/g-basic.mjs
CHANGED
|
@@ -45,6 +45,14 @@ let rsm = [
|
|
|
45
45
|
},
|
|
46
46
|
]
|
|
47
47
|
|
|
48
|
+
let rsa = [
|
|
49
|
+
{
|
|
50
|
+
id: 'id-rosemary',
|
|
51
|
+
name: 'rosemary',
|
|
52
|
+
value: 654.321,
|
|
53
|
+
},
|
|
54
|
+
]
|
|
55
|
+
|
|
48
56
|
async function test() {
|
|
49
57
|
|
|
50
58
|
//wo
|
|
@@ -108,6 +116,15 @@ async function test() {
|
|
|
108
116
|
// let sr = await wo.select({ name: { $regex: 'PeT', $options: '$i' } })
|
|
109
117
|
// console.log('selectReg', sr)
|
|
110
118
|
|
|
119
|
+
//save
|
|
120
|
+
await wo.save(rsa, { autoInsert: true })
|
|
121
|
+
.then(function(msg) {
|
|
122
|
+
console.log('save then', msg)
|
|
123
|
+
})
|
|
124
|
+
.catch(function(msg) {
|
|
125
|
+
console.log('save catch', msg)
|
|
126
|
+
})
|
|
127
|
+
|
|
111
128
|
//del
|
|
112
129
|
let d = ss.filter(function(v) {
|
|
113
130
|
return v.name === 'kettle'
|
|
@@ -162,6 +179,8 @@ test()
|
|
|
162
179
|
// value: 123.456
|
|
163
180
|
// }
|
|
164
181
|
// ]
|
|
182
|
+
// change save
|
|
183
|
+
// save then [ { n: 1, nModified: 1, ok: 1 } ]
|
|
165
184
|
// change del
|
|
166
185
|
// del then [ { n: 1, nDeleted: 1, ok: 1 } ]
|
|
167
186
|
|
package/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "w-orm-lmdb",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.5",
|
|
4
4
|
"main": "dist/w-orm-lmdb.umd.js",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"lodash-es": "^4.
|
|
7
|
-
"lmdb": "^3.4
|
|
8
|
-
"mingo": "^
|
|
9
|
-
"wsemi": "^1.8.
|
|
6
|
+
"lodash-es": "^4.18.1",
|
|
7
|
+
"lmdb": "^3.5.4",
|
|
8
|
+
"mingo": "^7.2.1",
|
|
9
|
+
"wsemi": "^1.8.52"
|
|
10
10
|
},
|
|
11
11
|
"devDependencies": {
|
|
12
|
-
"w-package-tools": "^1.1.
|
|
12
|
+
"w-package-tools": "^1.1.5"
|
|
13
13
|
},
|
|
14
14
|
"scripts": {
|
|
15
15
|
"test": "mocha --parallel --timeout 60000",
|
package/src/WOrmLmdb.mjs
CHANGED
|
@@ -31,6 +31,9 @@ import waitFun from 'wsemi/src/waitFun.mjs'
|
|
|
31
31
|
*/
|
|
32
32
|
function WOrmLmdb(opt = {}) {
|
|
33
33
|
|
|
34
|
+
//_cache
|
|
35
|
+
let _cache = null
|
|
36
|
+
|
|
34
37
|
//url
|
|
35
38
|
let url = get(opt, 'url')
|
|
36
39
|
if (!isestr(url)) {
|
|
@@ -65,7 +68,11 @@ function WOrmLmdb(opt = {}) {
|
|
|
65
68
|
|
|
66
69
|
//getData
|
|
67
70
|
let getData = async() => {
|
|
68
|
-
|
|
71
|
+
|
|
72
|
+
//check
|
|
73
|
+
if (isarr(_cache)) {
|
|
74
|
+
return cloneDeep(_cache) //與外部使用數據脫勾
|
|
75
|
+
}
|
|
69
76
|
|
|
70
77
|
//waitFun
|
|
71
78
|
await waitFun(() => {
|
|
@@ -74,18 +81,19 @@ function WOrmLmdb(opt = {}) {
|
|
|
74
81
|
}
|
|
75
82
|
return client.status === 'open'
|
|
76
83
|
})
|
|
77
|
-
|
|
78
84
|
// console.log('client.status',client.status)
|
|
85
|
+
|
|
86
|
+
//ltdt
|
|
79
87
|
let ltdt = []
|
|
80
88
|
for await (let { value: dt } of client.getRange()) {
|
|
81
89
|
// console.log('dt',dt)
|
|
82
90
|
ltdt.push(dt)
|
|
83
91
|
}
|
|
84
92
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
return ltdt
|
|
93
|
+
//update
|
|
94
|
+
_cache = ltdt
|
|
95
|
+
|
|
96
|
+
return cloneDeep(ltdt) //與外部使用數據脫勾
|
|
89
97
|
}
|
|
90
98
|
|
|
91
99
|
//getValue
|
|
@@ -230,18 +238,33 @@ function WOrmLmdb(opt = {}) {
|
|
|
230
238
|
ok: 1,
|
|
231
239
|
}
|
|
232
240
|
|
|
233
|
-
//emit
|
|
234
|
-
ee.emit('change', 'insert', data, res)
|
|
235
|
-
|
|
236
241
|
}
|
|
237
242
|
catch (err) {
|
|
238
243
|
isErr = true
|
|
239
244
|
res = err
|
|
240
245
|
}
|
|
241
246
|
|
|
247
|
+
//update, 不能保證插入多少, 一律重設快取
|
|
248
|
+
_cache = null
|
|
249
|
+
|
|
250
|
+
//emit, 於change可能須使用select, 故須放在重設快取之後
|
|
251
|
+
if (!isErr) {
|
|
252
|
+
try {
|
|
253
|
+
|
|
254
|
+
//emit
|
|
255
|
+
ee.emit('change', 'insert', data, res)
|
|
256
|
+
|
|
257
|
+
}
|
|
258
|
+
catch (err) {
|
|
259
|
+
console.log(err)
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
//check
|
|
242
264
|
if (isErr) {
|
|
243
265
|
return Promise.reject(res)
|
|
244
266
|
}
|
|
267
|
+
|
|
245
268
|
return res
|
|
246
269
|
}
|
|
247
270
|
|
|
@@ -294,8 +317,11 @@ function WOrmLmdb(opt = {}) {
|
|
|
294
317
|
//查找資料表內v.id
|
|
295
318
|
let vv = await getValue(v.id) //不會有catch
|
|
296
319
|
|
|
320
|
+
//existed
|
|
321
|
+
let existed = iseobj(vv)
|
|
322
|
+
|
|
297
323
|
//check
|
|
298
|
-
if (
|
|
324
|
+
if (existed) {
|
|
299
325
|
//已存在v.id
|
|
300
326
|
if (isEqual(v, vv)) {
|
|
301
327
|
//內容相同不更新
|
|
@@ -309,6 +335,9 @@ function WOrmLmdb(opt = {}) {
|
|
|
309
335
|
rest = { update: true }
|
|
310
336
|
}
|
|
311
337
|
}
|
|
338
|
+
else {
|
|
339
|
+
//內容不存在
|
|
340
|
+
}
|
|
312
341
|
|
|
313
342
|
//rest
|
|
314
343
|
if (iseobj(rest)) {
|
|
@@ -325,27 +354,46 @@ function WOrmLmdb(opt = {}) {
|
|
|
325
354
|
ok: 1,
|
|
326
355
|
}
|
|
327
356
|
}
|
|
357
|
+
//rest.n === 0:
|
|
358
|
+
// 內容相同不更新, 不須update
|
|
359
|
+
// 內容不存在, 若autoInsert則須insert
|
|
328
360
|
|
|
329
361
|
//autoInsert
|
|
330
|
-
if (autoInsert && rest.n === 0) {
|
|
362
|
+
if (autoInsert && rest.n === 0 && !existed) {
|
|
363
|
+
// console.log('insert(v)', v)
|
|
331
364
|
rest = await insert(v)
|
|
332
365
|
}
|
|
333
366
|
|
|
334
367
|
return rest
|
|
335
368
|
})
|
|
336
369
|
|
|
337
|
-
//emit
|
|
338
|
-
ee.emit('change', 'save', data, res)
|
|
339
|
-
|
|
340
370
|
}
|
|
341
371
|
catch (err) {
|
|
342
372
|
isErr = true
|
|
343
373
|
res = err
|
|
344
374
|
}
|
|
345
375
|
|
|
376
|
+
//update, 不能保證變更多少, 一律重設快取
|
|
377
|
+
_cache = null
|
|
378
|
+
|
|
379
|
+
//emit, 於change可能須使用select, 故須放在重設快取之後
|
|
380
|
+
if (!isErr) {
|
|
381
|
+
try {
|
|
382
|
+
|
|
383
|
+
//emit
|
|
384
|
+
ee.emit('change', 'save', data, res)
|
|
385
|
+
|
|
386
|
+
}
|
|
387
|
+
catch (err) {
|
|
388
|
+
console.log(err)
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
//check
|
|
346
393
|
if (isErr) {
|
|
347
394
|
return Promise.reject(res)
|
|
348
395
|
}
|
|
396
|
+
|
|
349
397
|
return res
|
|
350
398
|
}
|
|
351
399
|
|
|
@@ -434,18 +482,33 @@ function WOrmLmdb(opt = {}) {
|
|
|
434
482
|
return rest
|
|
435
483
|
})
|
|
436
484
|
|
|
437
|
-
//emit
|
|
438
|
-
ee.emit('change', 'del', data, res)
|
|
439
|
-
|
|
440
485
|
}
|
|
441
486
|
catch (err) {
|
|
442
487
|
isErr = true
|
|
443
488
|
res = err
|
|
444
489
|
}
|
|
445
490
|
|
|
491
|
+
//update, 不能保證刪除多少, 一律重設快取
|
|
492
|
+
_cache = null
|
|
493
|
+
|
|
494
|
+
//emit, 於change可能須使用select, 故須放在重設快取之後
|
|
495
|
+
if (!isErr) {
|
|
496
|
+
try {
|
|
497
|
+
|
|
498
|
+
//emit
|
|
499
|
+
ee.emit('change', 'del', data, res)
|
|
500
|
+
|
|
501
|
+
}
|
|
502
|
+
catch (err) {
|
|
503
|
+
console.log(err)
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
|
|
507
|
+
//check
|
|
446
508
|
if (isErr) {
|
|
447
509
|
return Promise.reject(res)
|
|
448
510
|
}
|
|
511
|
+
|
|
449
512
|
return res
|
|
450
513
|
}
|
|
451
514
|
|
|
@@ -533,18 +596,33 @@ function WOrmLmdb(opt = {}) {
|
|
|
533
596
|
ok: 1,
|
|
534
597
|
}
|
|
535
598
|
|
|
536
|
-
//emit
|
|
537
|
-
ee.emit('change', 'delAll', null, res)
|
|
538
|
-
|
|
539
599
|
}
|
|
540
600
|
catch (err) {
|
|
541
601
|
isErr = true
|
|
542
602
|
res = err
|
|
543
603
|
}
|
|
544
604
|
|
|
605
|
+
//update, 不能保證刪除多少, 一律重設快取
|
|
606
|
+
_cache = null
|
|
607
|
+
|
|
608
|
+
//emit, 於change可能須使用select, 故須放在重設快取之後
|
|
609
|
+
if (!isErr) {
|
|
610
|
+
try {
|
|
611
|
+
|
|
612
|
+
//emit
|
|
613
|
+
ee.emit('change', 'delAll', null, res)
|
|
614
|
+
|
|
615
|
+
}
|
|
616
|
+
catch (err) {
|
|
617
|
+
console.log(err)
|
|
618
|
+
}
|
|
619
|
+
}
|
|
620
|
+
|
|
621
|
+
//check
|
|
545
622
|
if (isErr) {
|
|
546
623
|
return Promise.reject(res)
|
|
547
624
|
}
|
|
625
|
+
|
|
548
626
|
return res
|
|
549
627
|
}
|
|
550
628
|
|
package/test/basic.test.mjs
CHANGED
|
@@ -57,6 +57,14 @@ if (isWindows()) {
|
|
|
57
57
|
},
|
|
58
58
|
]
|
|
59
59
|
|
|
60
|
+
let rsa = [
|
|
61
|
+
{
|
|
62
|
+
id: 'id-rosemary',
|
|
63
|
+
name: 'rosemary',
|
|
64
|
+
value: 654.321,
|
|
65
|
+
},
|
|
66
|
+
]
|
|
67
|
+
|
|
60
68
|
//wo
|
|
61
69
|
let wo = WOrm(opt)
|
|
62
70
|
|
|
@@ -287,9 +295,28 @@ if (isWindows()) {
|
|
|
287
295
|
// })
|
|
288
296
|
// vget[9] = rt
|
|
289
297
|
|
|
298
|
+
//save
|
|
299
|
+
rt = null
|
|
300
|
+
// vans[10] = [ { n: 1, nModified: 1, ok: 1 } ]
|
|
301
|
+
await wo.save(rsa, { autoInsert: true })
|
|
302
|
+
.then(function(msg) {
|
|
303
|
+
// console.log('save then', msg)
|
|
304
|
+
// save then [
|
|
305
|
+
// { n: 1, nModified: 1, ok: 1 },
|
|
306
|
+
// { n: 1, nModified: 1, ok: 1 },
|
|
307
|
+
// { n: 0, nModified: 0, ok: 1 }
|
|
308
|
+
// ]
|
|
309
|
+
rt = msg
|
|
310
|
+
})
|
|
311
|
+
.catch(function(msg) {
|
|
312
|
+
// console.log('save catch', msg)
|
|
313
|
+
rt = msg.toString()
|
|
314
|
+
})
|
|
315
|
+
vget[10] = rt
|
|
316
|
+
|
|
290
317
|
//del
|
|
291
318
|
rt = null
|
|
292
|
-
// vans[
|
|
319
|
+
// vans[11] = [{ n: 1, nDeleted: 1, ok: 1 }]
|
|
293
320
|
let ss = await wo.select()
|
|
294
321
|
let d = ss.filter(function(v) {
|
|
295
322
|
return v.name === 'kettle'
|
|
@@ -304,7 +331,7 @@ if (isWindows()) {
|
|
|
304
331
|
// console.log('del catch', msg)
|
|
305
332
|
rt = msg.toString()
|
|
306
333
|
})
|
|
307
|
-
vget[
|
|
334
|
+
vget[11] = rt
|
|
308
335
|
|
|
309
336
|
})
|
|
310
337
|
|
|
@@ -326,7 +353,7 @@ if (isWindows()) {
|
|
|
326
353
|
{ n: 1, nModified: 1, ok: 1 },
|
|
327
354
|
{ n: 0, nModified: 0, ok: 1 }
|
|
328
355
|
]
|
|
329
|
-
it(`should get ${JSON.stringify(vans[3])} for save`, async function() {
|
|
356
|
+
it(`should get ${JSON.stringify(vans[3])} for save(autoInsert=false)`, async function() {
|
|
330
357
|
assert.strict.deepStrictEqual(vget[3], vans[3])
|
|
331
358
|
})
|
|
332
359
|
|
|
@@ -385,11 +412,16 @@ if (isWindows()) {
|
|
|
385
412
|
// assert.strict.deepStrictEqual(vget[9], vans[9])
|
|
386
413
|
// })
|
|
387
414
|
|
|
388
|
-
vans[10] = [{ n: 1,
|
|
389
|
-
it(`should get ${JSON.stringify(vans[10])} for
|
|
415
|
+
vans[10] = [{ n: 1, nModified: 1, ok: 1 }]
|
|
416
|
+
it(`should get ${JSON.stringify(vans[10])} for save(autoInsert=true)`, async function() {
|
|
390
417
|
assert.strict.deepStrictEqual(vget[10], vans[10])
|
|
391
418
|
})
|
|
392
419
|
|
|
420
|
+
vans[11] = [{ n: 1, nDeleted: 1, ok: 1 }]
|
|
421
|
+
it(`should get ${JSON.stringify(vans[11])} for del`, async function() {
|
|
422
|
+
assert.strict.deepStrictEqual(vget[11], vans[11])
|
|
423
|
+
})
|
|
424
|
+
|
|
393
425
|
})
|
|
394
426
|
}
|
|
395
427
|
|