@@ -59,11 +59,11 @@ module.exports =
59
59
60
60
var keys = _interopRequire ( __webpack_require__ ( 4 ) ) ;
61
61
62
- var omit = _interopRequire ( __webpack_require__ ( 7 ) ) ;
62
+ var omit = _interopRequire ( __webpack_require__ ( 5 ) ) ;
63
63
64
- var map = _interopRequire ( __webpack_require__ ( 5 ) ) ;
64
+ var map = _interopRequire ( __webpack_require__ ( 6 ) ) ;
65
65
66
- var isEmpty = _interopRequire ( __webpack_require__ ( 6 ) ) ;
66
+ var isEmpty = _interopRequire ( __webpack_require__ ( 7 ) ) ;
67
67
68
68
var DSUtils = JSData . DSUtils ;
69
69
var deepMixIn = DSUtils . deepMixIn ;
@@ -252,6 +252,7 @@ module.exports =
252
252
} else if ( ! r ) {
253
253
reject ( new Error ( "Not Found!" ) ) ;
254
254
} else {
255
+ r . _id = r . _id . valueOf ( ) ;
255
256
resolve ( r ) ;
256
257
}
257
258
} ) ;
@@ -270,6 +271,9 @@ module.exports =
270
271
if ( err ) {
271
272
reject ( err ) ;
272
273
} else {
274
+ r . forEach ( function ( _r ) {
275
+ _r . _id = _r . _id . valueOf ( ) ;
276
+ } ) ;
273
277
resolve ( r ) ;
274
278
}
275
279
} ) ;
@@ -283,11 +287,17 @@ module.exports =
283
287
attrs = removeCircular ( omit ( attrs , resourceConfig . relationFields || [ ] ) ) ;
284
288
return this . getClient ( ) . then ( function ( client ) {
285
289
return new DSUtils . Promise ( function ( resolve , reject ) {
286
- client . collection ( resourceConfig . table || underscore ( resourceConfig . name ) ) . insert ( attrs , options , function ( err , r ) {
290
+ var collection = client . collection ( resourceConfig . table || underscore ( resourceConfig . name ) ) ;
291
+ var method = collection . insertOne ? DSUtils . isArray ( attrs ) ? "insertMany" : "insertOne" : "insert" ;
292
+ collection [ method ] ( attrs , options , function ( err , r ) {
287
293
if ( err ) {
288
294
reject ( err ) ;
289
295
} else {
290
- resolve ( r [ 0 ] ) ;
296
+ r = r . ops ? r . ops : r ;
297
+ r . forEach ( function ( _r ) {
298
+ _r . _id = _r . _id . valueOf ( ) ;
299
+ } ) ;
300
+ resolve ( DSUtils . isArray ( attrs ) ? r : r [ 0 ] ) ;
291
301
}
292
302
} ) ;
293
303
} ) ;
@@ -305,7 +315,8 @@ module.exports =
305
315
return new DSUtils . Promise ( function ( resolve , reject ) {
306
316
var params = { } ;
307
317
params [ resourceConfig . idAttribute ] = id ;
308
- client . collection ( resourceConfig . table || underscore ( resourceConfig . name ) ) . update ( params , { $set : attrs } , options , function ( err ) {
318
+ var collection = client . collection ( resourceConfig . table || underscore ( resourceConfig . name ) ) ;
319
+ collection [ collection . updateOne ? "updateOne" : "update" ] ( params , { $set : attrs } , options , function ( err ) {
309
320
if ( err ) {
310
321
reject ( err ) ;
311
322
} else {
@@ -337,7 +348,8 @@ module.exports =
337
348
return item [ resourceConfig . idAttribute ] ;
338
349
} ) ;
339
350
return new DSUtils . Promise ( function ( resolve , reject ) {
340
- client . collection ( resourceConfig . table || underscore ( resourceConfig . name ) ) . update ( query , queryOptions , _options , function ( err ) {
351
+ var collection = client . collection ( resourceConfig . table || underscore ( resourceConfig . name ) ) ;
352
+ collection [ collection . updateMany ? "updateMany" : "update" ] ( query , queryOptions , _options , function ( err ) {
341
353
if ( err ) {
342
354
reject ( err ) ;
343
355
} else {
@@ -362,7 +374,8 @@ module.exports =
362
374
return new DSUtils . Promise ( function ( resolve , reject ) {
363
375
var params = { } ;
364
376
params [ resourceConfig . idAttribute ] = id ;
365
- client . collection ( resourceConfig . table || underscore ( resourceConfig . name ) ) . remove ( params , options , function ( err ) {
377
+ var collection = client . collection ( resourceConfig . table || underscore ( resourceConfig . name ) ) ;
378
+ collection [ collection . deleteOne ? "deleteOne" : "remove" ] ( params , options , function ( err ) {
366
379
if ( err ) {
367
380
reject ( err ) ;
368
381
} else {
@@ -382,7 +395,8 @@ module.exports =
382
395
deepMixIn ( options , _this . getQueryOptions ( resourceConfig , params ) ) ;
383
396
var query = _this . getQuery ( resourceConfig , params ) ;
384
397
return new DSUtils . Promise ( function ( resolve , reject ) {
385
- client . collection ( resourceConfig . table || underscore ( resourceConfig . name ) ) . remove ( query , options , function ( err ) {
398
+ var collection = client . collection ( resourceConfig . table || underscore ( resourceConfig . name ) ) ;
399
+ collection [ collection . deleteMany ? "deleteMany" : "remove" ] ( query , options , function ( err ) {
386
400
if ( err ) {
387
401
reject ( err ) ;
388
402
} else {
@@ -428,131 +442,19 @@ module.exports =
428
442
/* 5 */
429
443
/***/ function ( module , exports , __webpack_require__ ) {
430
444
431
- module . exports = require ( "mout/array/map " ) ;
445
+ module . exports = require ( "mout/object/omit " ) ;
432
446
433
447
/***/ } ,
434
448
/* 6 */
435
449
/***/ function ( module , exports , __webpack_require__ ) {
436
450
437
- module . exports = require ( "mout/lang/isEmpty " ) ;
451
+ module . exports = require ( "mout/array/map " ) ;
438
452
439
453
/***/ } ,
440
454
/* 7 */
441
455
/***/ function ( module , exports , __webpack_require__ ) {
442
456
443
- var slice = __webpack_require__ ( 8 ) ;
444
- var contains = __webpack_require__ ( 9 ) ;
445
-
446
- /**
447
- * Return a copy of the object, filtered to only contain properties except the blacklisted keys.
448
- */
449
- function omit ( obj , var_keys ) {
450
- var keys = typeof arguments [ 1 ] !== 'string' ? arguments [ 1 ] : slice ( arguments , 1 ) ,
451
- out = { } ;
452
-
453
- for ( var property in obj ) {
454
- if ( obj . hasOwnProperty ( property ) && ! contains ( keys , property ) ) {
455
- out [ property ] = obj [ property ] ;
456
- }
457
- }
458
- return out ;
459
- }
460
-
461
- module . exports = omit ;
462
-
463
-
464
-
465
-
466
- /***/ } ,
467
- /* 8 */
468
- /***/ function ( module , exports , __webpack_require__ ) {
469
-
470
-
471
-
472
- /**
473
- * Create slice of source array or array-like object
474
- */
475
- function slice ( arr , start , end ) {
476
- var len = arr . length ;
477
-
478
- if ( start == null ) {
479
- start = 0 ;
480
- } else if ( start < 0 ) {
481
- start = Math . max ( len + start , 0 ) ;
482
- } else {
483
- start = Math . min ( start , len ) ;
484
- }
485
-
486
- if ( end == null ) {
487
- end = len ;
488
- } else if ( end < 0 ) {
489
- end = Math . max ( len + end , 0 ) ;
490
- } else {
491
- end = Math . min ( end , len ) ;
492
- }
493
-
494
- var result = [ ] ;
495
- while ( start < end ) {
496
- result . push ( arr [ start ++ ] ) ;
497
- }
498
-
499
- return result ;
500
- }
501
-
502
- module . exports = slice ;
503
-
504
-
505
-
506
-
507
- /***/ } ,
508
- /* 9 */
509
- /***/ function ( module , exports , __webpack_require__ ) {
510
-
511
- var indexOf = __webpack_require__ ( 10 ) ;
512
-
513
- /**
514
- * If array contains values.
515
- */
516
- function contains ( arr , val ) {
517
- return indexOf ( arr , val ) !== - 1 ;
518
- }
519
- module . exports = contains ;
520
-
521
-
522
-
523
- /***/ } ,
524
- /* 10 */
525
- /***/ function ( module , exports , __webpack_require__ ) {
526
-
527
-
528
-
529
- /**
530
- * Array.indexOf
531
- */
532
- function indexOf ( arr , item , fromIndex ) {
533
- fromIndex = fromIndex || 0 ;
534
- if ( arr == null ) {
535
- return - 1 ;
536
- }
537
-
538
- var len = arr . length ,
539
- i = fromIndex < 0 ? len + fromIndex : fromIndex ;
540
- while ( i < len ) {
541
- // we iterate over sparse items since there is no way to make it
542
- // work properly on IE 7-8. see #64
543
- if ( arr [ i ] === item ) {
544
- return i ;
545
- }
546
-
547
- i ++ ;
548
- }
549
-
550
- return - 1 ;
551
- }
552
-
553
- module . exports = indexOf ;
554
-
555
-
457
+ module . exports = require ( "mout/lang/isEmpty" ) ;
556
458
557
459
/***/ }
558
460
/******/ ] ) ;
0 commit comments