31
mongooseで 'findOneAndUpdate'を使用しようとしています。送信している更新されたJSオブジェクトがmongoに保存されていません。保存時にエラーは発生しませんが、更新されたオブジェクトのnullが返されます。私が間違っているかもしれない何かアイデア?これは、mongoに格納されているオブジェクト全体を更新しようとしている、つまり名前オブジェクトを上書きしようとしている例です。Mongoose findOneAndUpdateが動作しません
var query = {"_id": id};
var update = {name: {first: 'john', last: 'smith'}};
var options = {new: true};
People.findOneAndUpdate(query, update, options, function(err, person) {
if (err) {
console.log('got an error');
}
// at this point person is null.
});
あなたの回答には、合格とマークしてください。 – verybadalloc
あなたの文書にもっと多くのフィールドがあったら、それらはすべて削除されます。これは何とか避けることができるものだと確信しています。 –
@SergioMajluf必要なフィールドのみを更新するために$ setを使うことができます。 – Haywire