1

我已经挣扎了一段时间,我似乎无法在这里找到答案。我想通过删除已指定列表中存在的子模式(使用 $nin:) 来过滤子文档中的子模式数组。我的问题是我要检查的列表在子文档的父级上,看看我想要做什么:

User.find({_id :  socketUser.User})
            .populate("room")
            .elemMatch("room.things", {"Id" : {$nin : "User.likedThings" }})
            .exec(function(err,users){
                console.log(err);

            });

所以我的用户有一个名为 room in 的属性,而我有一个东西列表。用户还拥有一组“likedThings”的唯一 ID(不是 ObjectIds,字符串)。

我想要做的是获取房间的“事物”,其中 id 尚未在“likedThings”的用户列表中。

我的问题是当我在房间里“沮丧”时,我无法访问 User.likedThings。(没有 ../../ 类似的命令)。

我如何实现这一目标?

4

0 回答 0