Ответ 1
Да, вы не можете ссылаться на другие поля в модификаторе. Вам нужно будет использовать db.eval.
Я хочу сделать что-то подобное, но ключевое слово this
, похоже, не установлено внутри оператора обновления.
db.items.update({foo:…}, {$set: {bar: this.foo}}, false, true)
Нужно ли использовать eval
для выполнения этого?
Да, вы не можете ссылаться на другие поля в модификаторе. Вам нужно будет использовать db.eval.
Хороший пример можно найти здесь MongoDB: Обновление документов с использованием данных из того же документа