sql >> Database >  >> NoSQL >> MongoDB

Hoe controleer ik of een document is ingevoegd of bijgewerkt bij gebruik van findOneAndUpdate?

Vanaf 8 augustus 2019 (Mongoose-versie 5.6.9) is de eigenschap die moet worden ingesteld "rawResult" en niet "passRawResult":

M.findOneAndUpdate({}, obj, {new: true, upsert: true, rawResult:true}, function(err, d) {
    if(err) console.log(err);
    console.log(d);
});

Uitgang:

{ lastErrorObject:
   { n: 1,
     updatedExisting: false,
     upserted: 5d4befa6b44b48c3f2d21c75 },
  value: { _id: 5d4befa6b44b48c3f2d21c75, rating: 4, review: 'QQQ' },
  ok: 1 }

Merk ook op dat het resultaat wordt geretourneerd als de tweede parameter en niet als de derde parameter van de callback. Het document kan worden opgehaald door d.value.



  1. Kunnen $in en $or elkaar vervangen in MongoDB?

  2. Hoe kan ik de positieve en negatieve prijs berekenen met mongodb of robomongo?

  3. Abonneren op Meteor.Users Collection

  4. node.js mongodb hoe verbinding te maken met replicaset van mongo-servers