Skip to content

Commit aa094fc

Browse files
committed
Merge branch 'd-mon--2.0' into 2.0t push origin 2.0
2 parents e5d087c + 395e51c commit aa094fc

File tree

3 files changed

+15
-12
lines changed

3 files changed

+15
-12
lines changed

lib/bulk/ordered.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,7 @@ var define = OrderedBulkOperation.define = new Define('OrderedBulkOperation', Or
293293

294294
OrderedBulkOperation.prototype.raw = function(op) {
295295
var key = Object.keys(op)[0];
296-
296+
var forceServerObjectId = this.s.collection.s.db.options.forceServerObjectId;
297297
// Update operations
298298
if((op.updateOne && op.updateOne.q)
299299
|| (op.updateMany && op.updateMany.q)
@@ -325,16 +325,16 @@ OrderedBulkOperation.prototype.raw = function(op) {
325325

326326
// Insert operations
327327
if(op.insertOne && op.insertOne.document == null) {
328-
if(op.insertOne._id == null) op.insertOne._id = new ObjectID();
328+
if(forceServerObjectId !== true && op.insertOne._id == null) op.insertOne._id = new ObjectID();
329329
return addToOperationsList(this, common.INSERT, op.insertOne);
330330
} else if(op.insertOne && op.insertOne.document) {
331-
if(op.insertOne.document._id == null) op.insertOne.document._id = new ObjectID();
331+
if(forceServerObjectId !== true && op.insertOne.document._id == null) op.insertOne.document._id = new ObjectID();
332332
return addToOperationsList(this, common.INSERT, op.insertOne.document);
333333
}
334334

335335
if(op.insertMany) {
336336
for(var i = 0; i < op.insertMany.length; i++) {
337-
if(op.insertMany[i]._id == null) op.insertMany[i]._id = new ObjectID();
337+
if(forceServerObjectId !== true && op.insertMany[i]._id == null) op.insertMany[i]._id = new ObjectID();
338338
addToOperationsList(this, common.INSERT, op.insertMany[i]);
339339
}
340340

@@ -353,7 +353,7 @@ OrderedBulkOperation.prototype.raw = function(op) {
353353
* @return {OrderedBulkOperation}
354354
*/
355355
OrderedBulkOperation.prototype.insert = function(document) {
356-
if(document._id == null) document._id = new ObjectID();
356+
if(this.s.collection.s.db.options.forceServerObjectId !== true && document._id == null) document._id = new ObjectID();
357357
return addToOperationsList(this, common.INSERT, document);
358358
}
359359

lib/bulk/unordered.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -308,7 +308,7 @@ var define = UnorderedBulkOperation.define = new Define('UnorderedBulkOperation'
308308
* @return {UnorderedBulkOperation}
309309
*/
310310
UnorderedBulkOperation.prototype.insert = function(document) {
311-
if(document._id == null) document._id = new ObjectID();
311+
if(this.s.collection.s.db.options.forceServerObjectId !== true && document._id == null) document._id = new ObjectID();
312312
return addToOperationsList(this, common.INSERT, document);
313313
}
314314

@@ -342,7 +342,7 @@ Object.defineProperty(UnorderedBulkOperation.prototype, 'length', {
342342

343343
UnorderedBulkOperation.prototype.raw = function(op) {
344344
var key = Object.keys(op)[0];
345-
345+
var forceServerObjectId = this.s.collection.s.db.options.forceServerObjectId;
346346
// Update operations
347347
if((op.updateOne && op.updateOne.q)
348348
|| (op.updateMany && op.updateMany.q)
@@ -374,15 +374,16 @@ UnorderedBulkOperation.prototype.raw = function(op) {
374374

375375
// Insert operations
376376
if(op.insertOne && op.insertOne.document == null) {
377-
if(op.insertOne._id == null) op.insertOne._id = new ObjectID();
377+
if(forceServerObjectId !== true && op.insertOne._id == null) op.insertOne._id = new ObjectID();
378378
return addToOperationsList(this, common.INSERT, op.insertOne);
379379
} else if(op.insertOne && op.insertOne.document) {
380-
if(op.insertOne.document._id == null) op.insertOne.document._id = new ObjectID();
380+
if(forceServerObjectId !== true && op.insertOne.document._id == null) op.insertOne.document._id = new ObjectID();
381381
return addToOperationsList(this, common.INSERT, op.insertOne.document);
382382
}
383383

384384
if(op.insertMany) {
385385
for(var i = 0; i < op.insertMany.length; i++) {
386+
if(forceServerObjectId !== true && op.insertMany[i]._id == null) op.insertMany[i]._id = new ObjectID();
386387
addToOperationsList(this, common.INSERT, op.insertMany[i]);
387388
}
388389

lib/collection.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -438,7 +438,7 @@ Collection.prototype.insertMany = function(docs, options, callback) {
438438
options['serializeFunctions'] = options['serializeFunctions'] || self.s.serializeFunctions;
439439

440440
// Do we want to force the server to assign the _id key
441-
if(options.forceServerObjectId == null || options.forceServerObjectId == false) {
441+
if(self.s.db.options.forceServerObjectId!==true) {
442442
// Add _id if not specified
443443
for(var i = 0; i < docs.length; i++) {
444444
if(docs[i]._id == null) docs[i]._id = self.s.pkFactory.createPk();
@@ -618,8 +618,10 @@ var insertDocuments = function(self, docs, options, callback) {
618618
finalOptions['serializeFunctions'] = options['serializeFunctions'] || self.s.serializeFunctions;
619619

620620
// Add _id if not specified
621-
for(var i = 0; i < docs.length; i++) {
622-
if(docs[i]._id == null) docs[i]._id = self.s.pkFactory.createPk();
621+
if(self.s.db.options.forceServerObjectId!==true){
622+
for(var i = 0; i < docs.length; i++) {
623+
if(docs[i]._id == null) docs[i]._id = self.s.pkFactory.createPk();
624+
}
623625
}
624626

625627
// File inserts

0 commit comments

Comments
 (0)