Я пытаюсь обновить некоторое поле в своей коллекции в зависимости от состояния.Обновление MongoDB с условием
Я хочу, чтобы установить поле active
в true
если условие true
и false
иначе
Это обновление без условия
db.consent.update(
{}, //match all
{
$set: {
"active": true
}
},
{
multi: true,
}
)
Я хотел бы добавить условие для обновления, как это:
db.consent.update(
{},
$cond: {
if: {
$eq: ["_id", ObjectId("5714ce0a4514ef3ef68677fd")]
},
then: {
$set: {
"active": true
}
},
else: {
$set: {
"active": false
}
}
},
{
multi: true,
}
)
В соответствии с https://docs.mongodb.org/manual/reference/operator/update-field/ оператора $cond
нет.
Каковы мои возможности для выполнения этого обновления в виде одной команды?
Возможный дубликат [MongoDB, условных upserts или обновлений] (http://stackoverflow.com/questions/5540103/mongodb- условные-upserts-or-updates) – BanksySan