2016-09-29 15 views
0

mongooseのfindByIdAndUpdate関数を使用しようとしています。 _idフィールドが設定されている既存のドキュメントを更新すると、うまく機能します。しかし、新しい文書を挿入すると_idが生成されずに挿入されます(_idフィールドはNULLです)。これはあらゆる種類の問題につながります。なぜupsertが_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

それは未定義NULL(マングースのお菓子を見つける傾けるので、あなたは、最初のパラメータを指定する場合は、upsertingされているのでnull)それを作成します。

findbyidを使用せず、代わりにmodel.updateを使用するといいでしょう。

関連する問題