私の文書構造は次のとおりです
{
"_id": {
"$oid": "55ae24016fb73f6ac7c2d640"
},
"Name": "some name",
"District": "some district",
"Stories": [
{
"userId": "105304831528398207103",
"story": "some story",
"Likes": ["user id 1" ..... ],
"_id": {
"$oid": "55c055af1875b0002572cf94"
}
}
]
}
ユーザーがストーリーを気に入ったら、そのユーザー ID を配列Likesに追加したい
次のコードを試しました
router.post("/NewStoryLike", function (req, res) {
var mongo = require('mongodb');
var db = require('monk');
var ObjectID = mongo.ObjectID;
req.db.get('clnTemple').findAndModify({
query: { "_id": ObjectID(req.body.postId) ,"Stories._id": ObjectID(req.body.storyId) },
update: { $addToSet: { Likes: req.body.userId } },
upsert: true
});
res.send("Like Added");
});
エラーはスローされませんが、likes 配列にユーザー ID が追加されません。代わりに、最上位に Likes が追加されます。つまり、投稿レベルに追加されます。
どのような変更を行う必要がありますか?