0

私の文書構造は次のとおりです

{
    "_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 が追加されます。つまり、投稿レベルに追加されます。

どのような変更を行う必要がありますか?

4

1 に答える 1