2013-05-02 22 views
5

Potrzebuję uzyskać zaktualizowany dokument _id (Mongo ObjectID). W tym celu chcę uzyskać zaktualizowany dokument. Jak mogę to dostać?Uzyskaj zaktualizowany dokument w MongoDB

Próbowałem to:

... 
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); 
}); 
... 

mogę je bez znalezienia dokumentu przez newData/OldData?

Odpowiedz

8

Zamiast używać .update(), myślę, że chcesz użyć .findAndModify().

Aktualizacja może aktualizować wiele dokumentów, a drugim argumentem wywołania zwrotnego jest liczba zaktualizowanych dokumentów (w twoim przypadku 1).

Dzięki findAndModify możesz zaktualizować dokładnie jeden dokument (przeczytaj dokumentację dokładnie od tego, jak różni się ona od update), a zaktualizowany dokument zostanie przekazany do funkcji zwrotnej.

Powiązane problemy