ниже моя коллекция:обновления последней строки с критериями поиска в MongoDB
db.himtest.find({name:"himanshu"})
{ "_id" : ObjectId("56f1667611c54cf649076577"), "name" : "himanshu", "age" : 45,
"points" : 10 }
{ "_id" : ObjectId("56f1667c11c54cf649076578"), "name" : "himanshu", "age" : 35,
"points" : 10 }
{ "_id" : ObjectId("56f1669511c54cf64907657b"), "name" : "himanshu", "age" : 35,
"points" : 1100 }
{ "_id" : ObjectId("56f1669a11c54cf64907657c"), "name" : "himanshu", "age" : 35,
"points" : 11000 }
{ "_id" : ObjectId("56f1669d11c54cf64907657d"), "name" : "himanshu", "age" : 45,
"points" : 11000 }
{ "_id" : ObjectId("56f166a311c54cf64907657e"), "name" : "himanshu", "age" : 45,
"points" : 1200 }
Теперь я хочу, чтобы обновить последнюю строку на основе какого-либо критерии выбора что-то вроде:
db.himtest.find({name:"himanshu",age:45}).sort({_id:-1}).limit(1).update({points:100});
Возможно, следует использовать ['.findOneAndUpdate()'] (https://docs.mongodb.org/manual/reference/method/db.collection.findOneAndUpdate/), учитывая, что, хотя документация «shell» еще не отмечена как устаревший, все другие документы API. Это также совместимо с языковыми API. Удивленный этот вопрос не задавался раньше. –
@BlakesSeven Да, но было непонятно, был ли OP в 3.2, поэтому я пошел с опцией наименьшего общего знаменателя. Во всяком случае, хорошая идея - добавлено. – JohnnyHK