1
複数のフィールドを持つスキーマがあるとします。文書が私の照会と一致する場合にのみONEフィールドを更新したいと思います。ただし、そうでない場合は、すべてのフィールドの値を含む新しい文書を作成したいと考えています。これにはModel.findOneAndUpdate
を使用する方法はありますか?ここでマングースアップデート* ONE *フィールドが見つからない場合すべてのフィールドで新規作成
は、より具体性のためのコードであり、私が試したもの:
は、上記のコードは正しくfield1
を更新
var mg = require('mongoose');
var Record = mg.model ("record", {
field1: Number,
field2: Number,
field3: Number,
});
//Update field1 ONLY if found using findOneAndUpdate, else create with all fields
var query = {//My Query},
update = {field1: 10},
options = {upsert: true, new: true, setDefaultsOnInsert: true};
Record.findOneAndUpdate(query, update, options, function(err,result){
//Do stuff with doc
});
、ないドキュメントはクエリにマッチしていない場合、新しい文書がfield2
またはfield3