Uw syntaxis hier is in principe correct, maar uw algemene uitvoering was verkeerd en u had de actie "upsert" moeten "scheiden" van de andere wijzigingen. Deze zullen anders "botsen" en een fout produceren wanneer een "upsert" optreedt:
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);
});
});
Zorg ervoor dat uw sails-mongo is een nieuwste versie die de Bulk-bewerkingen ondersteunt, door een recent native stuurprogramma voor nodes op te nemen. De meest recente ondersteunt het v2-stuurprogramma, wat hiervoor prima is.