यहां आपका सिंटैक्स मूल रूप से सही है, लेकिन आपका सामान्य निष्पादन गलत था और आपको अन्य संशोधनों से "अप्सर्ट" क्रिया को "अलग" करना चाहिए था। ये अन्यथा "संघर्ष" करेंगे और "अप्सर्ट" होने पर एक त्रुटि उत्पन्न करेंगे:
LineupPointsRecord.native(function (err,collection) {
var bulk = collection.initializeOrderedBulkOp();
// Match and update only. Do not attempt upsert
bulk.find({
"teamId": lineUpPointsGeneralRecord.teamId,
"round": 0
}).updateOne({
"$inc": { "lfPoints": roundPoints },
"$push": { "roundPoints": roundPoints }
});
// Attempt upsert with $setOnInsert only
bulk.find({
"teamId": lineUpPointsGeneralRecord.teamId,
"round": 0
}).upsert().updateOne({
"$setOnInsert": lineUpPointsGeneralRecord
});
bulk.execute(function (err,updateResult) {
sails.log.debug(err,updateResult);
});
});
सुनिश्चित करें कि आपका sails-mongo थोक संचालन का समर्थन करने वाला एक नवीनतम संस्करण है जो हाल ही में नोड देशी ड्राइवर का समावेश है। नवीनतम v2 ड्राइवर का समर्थन करता है, जो इसके लिए ठीक है।