sql >> Database teknologi >  >> NoSQL >> MongoDB

Hvordan kontrollerer man, om et dokument blev indsat eller opdateret, når man bruger findOneAndUpdate?

Fra den 8. august 2019 (Mongoose Version 5.6.9) er den egenskab, der skal indstilles, "rawResult" og ikke "passRawResult":

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

Output:

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

Bemærk også, at resultatet returneres som den anden parameter og ikke den tredje parameter for tilbagekaldet. Dokumentet kan hentes ved d.value.



  1. Hvordan får du adgang til en MongoDB-database fra to Openshift-apps?

  2. Introduktion til Apache HBase Snapshots, del 2:Deeper Dive

  3. Hvordan pipelines i node.js til redis?

  4. brugerdefinerede _id-felter Django MongoDB MongoEngine