にオブジェクトを設定存在する場合、これは私が現在持っている文書です:あなたは、異なる以下のブールと、seriesId 1と2つのオブジェクトが現在存在している見ることができるようにプッシュオブジェクトそうにMongoDB
{
"_id": "",
"title": "My Watchlist",
"series": [{
"seriesId": 1,
"following": true,
"seasons": []
}, {
"seriesId": 1,
"following": false,
"seasons": []
}]
}
。
クエリーが_idと一致する場合は、新しいオブジェクトをシリーズにプッシュする必要があります。「シリーズ」配列内に同じ「seriesId」を持つオブジェクトが存在する場合は、そのオブジェクト内のフィールドを変更する必要があります。新しいオブジェクト。
私は現在、次のクエリがあります:私は$を使用する場合は
users.update(
{"_id": req.body.userId},
{
"$push": {
"series": {"seriesId": req.body.seriesId, "following": req.body.following}
}
}, (err, data) => {
if (err)
next(err);
});
は、それがもともと限り、私はあなたが両方使用する$プッシュすることはできません知っているようにまだ存在し、かつなかった場合には、オブジェクトを追加しない設定しますと$セット? これは何らかの方法で修正できますか、または私のスキーマを再考する必要はありますか?
[Can mongo upsert array data?](http://stackoverflow.com/questions/13588342/can-mongo-upsert-array-data)の可能な複製 – MYGz