2016-09-29 2 views
0

Я пытаюсь использовать функцию findByIdAndUpdate mongoose. Когда я обновляю существующий документ, который имеет поле _id, он отлично работает. Однако вставка нового документа вставляет один без _id сгенерированного (поле _id NULL), что приводит к разным проблемам. Почему это не означает, что вы создаете _id?Mongoose findByIdAndUpdate не генерирует _id на вставке

Вот код: (для нового документа newRecord._id не определен)

myModel.findByIdAndUpdate(newRecord._id, 
            newRecord, 
            {upsert: true, new: true, runValidators: true, setDefaultsOnInsert: true}, 
            function(err, patient){ 
             //do something 
    }); 

ответ

0

Потому что вы upserting, если указать первый из параметров, так как не могу найти NULL (мангуста лечит не определено, как null) он создает его.

Я бы сказал, не используйте findbyid и вместо этого используйте model.update.

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