Mongodb - обновить частичное количество документов - PullRequest
2 голосов
/ 20 марта 2012

можно ли в Mongodb ограничить количество документов, которые можно обновить за один раз?

У меня есть список порядка элементов по дате вставки (т.е. по _id), я просто хочу обновить (пример) 5 самых старых.

Я могу получить информацию, которую хочу

db.mycoll.find({}).limit(5)

Я могу обновить один (и, следовательно, цикл по результатам предыдущего запроса) или все (или используя комбинацию)

db.mycoll.update({"_id" : ObjectId("4f672a5175fa1c01c100001d")}, {$set: {'b' : 'test'}}, false, true)
db.mycoll.update({}, {$set: {'b' : 'test'}}, false, true)

Но я не смог пройти критерий с ограничением на запрос на обновление. Есть ли способ сделать это?

1 Ответ

2 голосов
/ 20 марта 2012

К сожалению, вы можете посмотреть это: Как ограничить количество обновлений документов в mongodb

К сожалению, обходной путь у вас есть единственный способ сделать это AFAIK. Существует логический флаг multi, который будет либо обновлять все совпадения (при значении true), либо обновлять 1-е совпадение (при значении false).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...