2013-11-14 3 views
0

обновление doc в мангусте.обновление doc в mongoose

Model.findOne({_id: '123'}, function (err, doc) { 
    // some conditions 
    doc.body = 'body'; 
    doc.update(); //update the doc in db 
}); 

условие является сложным рядным представлением как MyModel.update({ age: { $gt: 18 } }, { oldEnough: true }, fn);, как показано на documentation

doc.update(); не работают. Как сделать обновление документа наиболее эффективным?

+0

обновленный вопрос. –

+0

Что вы ожидаете от 'doc.update();' делать? Разве это не будет no-op, так как вы не передадите ему какие-либо аргументы? – JohnnyHK

+0

Я внесены изменения в предыдущий код // некоторые условия doc.body = 'body'; Я хочу запустить команду, чтобы позволить 'doc' отражать изменения в документе в базе данных. –

ответ

0

Вместо того чтобы запускать код с обновлением, вы должны использовать save(). Причина в том, что ваш update ничего не делает (вы не указали, какие документы вам нужно обновить и как его обновить).

Команда сохранения не создаст новый элемент, потому что вы не измените идентификатор элемента (если вы не делаете этого в //some conditions code). Таким образом, он просто изменит элемент с этим конкретным _id.

+0

спасибо. Правильно. –

Смежные вопросы