0
私のデータの関連リンクはすべて適切な解決策ではありません。そうでない場合は、新しいオブジェクトを挿入し、ちょうど真の虚偽または万力その逆からそれを更新する、それが存在しない場合更新されている場合は、mongooseのサブ文書用に存在しない場合は挿入してください
{
"code" : "QC",
"is_favourite" : true
}
:私はこのような国を追加したい
{
"_id" : ObjectId("590aa0e68d4b23760d8d0e50"),
"updatedAt" : ISODate("2017-05-08T07:03:08.314Z"),
"createdAt" : ISODate("1987-12-31T16:00:00.000Z"),
"Avatar" : "public/image/test.pic",
"countries" : [
{
"code" : "MY",
"is_favourite" : false,
"is_visited" : true,
},
{
"code" : "CA",
"is_favourite" : true
}
]
}
: 私のスキーマは、このようなものです。
私はコードを書いていますが、長い話のようですが、挿入モードでも正しく動作していません(このエラーが発生しました:位置演算子がクエリから必要な一致を見つけられませんでした)。私はどんなことができます....
var query = {"_id":req.params._id, "countries":{$elemMatch:{code:req.body.code}}}
var update = { $set: {"countries.$.is_favourite": req.body.is_favourite}}
var option = {"upsert": true}
User.findOneAndUpdate(query,update,option, function (err, user) {
if (err) return next(err);
return res.status(201).json({
success: true,
message: 'country '+ '<'+req.body.code+'> '+ 'updated as '
+req.body.is_favourite
});
});