2013-05-02 12 views
5

Ho bisogno di ottenere il _id (l'ObjectID Mongo) del documento aggiornato. Per questo voglio ottenere il documento aggiornato. Come posso averlo?Ottieni il documento aggiornato in MongoDB

ho provato questo:

... 
collection.update(oldData, newData, function(err, doc) { 
    console.log(docs); // This prints "1" in console. So, it's not a document. 
    if (err) { return callback(err); } 
    callback(null, doc); 
}); 
... 

Posso farlo senza trovare un documento da newData/OldData?

risposta

8

Invece di utilizzare .update(), penso che si desideri utilizzare .findAndModify().

Un aggiornamento può aggiornare più documenti e il secondo argomento del suo callback è il numero di documenti aggiornati (nel tuo caso 1).

Con findAndModify, è possibile aggiornare esattamente un documento (leggere la documentazione su come esattamente si differenzia da update) e il documento aggiornato verrà passato alla funzione di callback.

Problemi correlati