0
私はマングースマングース見つけて更新配列の
{
"_id": {
"$oid": "57c910721e5197030038d8c5"
},
"firstname": "xyz",
"schoolId": "ChIJI_40EALkDDkRs-2n_kQqPRA",
"email": "[email protected]",
"image_url": "cc7b0f23cea00964301ca225c6f3430a",
"lastname": "abc",
"rating": 1,
"review": "Gr8",
"voters": [
"[email protected]"
],
"time": {
"$date": "2016-09-02T05:38:58.966Z"
},
"__v": 0
},
{
"_id": {
"$oid": "57c910721e5197030038d8c4"
},
"firstname": "xyz",
"schoolId": "sffsdssfsfsfdssdss",
"email": "[email protected]",
"image_url": "cc7b0f23cea00964301ca225c6f3430a",
"lastname": "abc",
"rating": 1,
"review": "Gr8",
"voters": [
"[email protected],[email protected]"
],
"time": {
"$date": "2016-09-02T05:38:58.966Z"
},
"__v": 0
}
のデータ次ていると私は、クエリの上
var query = { _id: mongoose.Types.ObjectId(req.body.id) };
var update = { $addToSet: { 'voters': req.body.email } };
var options = { upsert: false, 'new': false };
Review.findByIdAndUpdate(query, update, options, function (err, doc) {
if (err) {
res.json(err);
}
res.json({ message: "Thanks :)" });
});
が正常に動作している有権者配列更新に次のクエリを使用していますが、私は電子メールの場合は欲しいですvoters配列内に見つかった場合はエラーメッセージをスローし、単純にvoters配列を更新しない場合は$ addToSetはエラーメッセージをスローしません。
の
findOneAndUpdate
を使用するように$nin
を使用し、私はそれを試してみましょうし、すでに有権者が存在し、常に私にこのメッセージを与えて、あなたに –を更新しますまたは見つかりません ' –