Оболочка mongodb: обновлять документ, только если он существует

Если я не ошибаюсь $set в следующем добавим поле, если оно не существует.

db.coll.update({profession:"devs"}, { $set : { daysSpent : 30 } }, {multi:true});

это установит daysSpent 30 для всех документов с профессиями "разработчиков", независимо от того, есть ли у них это поле.

1 ответ

Решение

Вам нужно использовать $exists оператор, который будет соответствовать документам, которые содержат поле daysSpent

db.coll.update(
    { "profession": "devs", "daysSpent": { "$exists": true }, 
    { "$set" : { "daysSpent" : 30 } }, 
    { multi: true }
)
Другие вопросы по тегам