Sterownik MongoDB 2.5 ma metodę DBCollection.findAndModify()
dla tego, ale MongoCollection
tę metodę pomija. Po pewnym wyszukiwaniu okazało się, że teraz findOneAndUpdate()
ma tę samą rolę. Ale ta metoda ma inny podpis, nie rozumiem, jak z niego korzystać. Oto polecenie Chcę wykonaćJak wykonać zapytanie MongoDB findAndModify w MongoCollection Sterownik Java 3?
db.COL1.findAndModify({
query: { id: 2 },
update: {
$setOnInsert: { date: new Date(), reptype: 'EOD' }
},
new: true, // return new doc if one is upserted
upsert: true // insert the document if it does not exist
})
Dokumentacja dla findOneAndUpdate
method stwierdza, że
Powroty: dokumentu, który został zaktualizowany. W zależności od wartości właściwości
returnOriginal
będzie to dokument taki jak przed aktualizacją lub po aktualizacji.
ale nie można znaleźć nic na temat tej właściwości returnOriginal
. Ktoś wie, jak ustawić to poprawnie?
Flaga 'returnOriginal' powinna być' nowa FindOneAndUpdateOptions(). ReturnDocument (ReturnDocument.BEFORE)) ' – chridam
@chridam nie jest' ReturnDocument.AFTER' odpowiednikiem 'new: true'? –
Chociaż jest to prawdą w tym kontekście, mam na myśli to, co OP zadał w ich pytaniu, ale nie może znaleźć nic o tej własności returnOriginal. Ktoś wie, jak to ustawić poprawnie _ – chridam