使用.elemMatch将属性与其中一个父文档字段进行匹配。

时间:2015-06-02 15:13:15

标签: node.js mongodb mongoose subdocument

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

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

            });

所以我的用户有一个名为room in的属性,而我有一个列表。用户还有一系列唯一ID(不是ObjectIds,字符串)" likesThings"。

我想做的是获得"事物"对于哪些ids尚未出现在" likesThings"的用户列表中的房间。

我的问题是,当我" down"我无法访问User.likedThings。在房间里。 (没有../../-like命令)。

我如何实现这一目标?

0 个答案:

没有答案