MongoDB .find()结果集中的.find()

时间:2014-05-14 06:32:15

标签: mongodb find subquery

换句话说,如何链接MongoDB .find()以便第二个.find()搜索第一个.find()返回的游标?

MySQL支持subquery

1 个答案:

答案 0 :(得分:1)

子查询和联接是一个非常“关系”的东西,所以你可能想重新考虑你的设计。在任何情况下,您都不能直接加入集合,但可以使用$in,例如:

> foo = [];
[ ]
> db.Comment.find().forEach(function(rover) {foo.push(rover.UserId)})
> foo
[
        ObjectId("535fd8e6eb596a27ec924d15"),
        ObjectId("536a6479eb596a2a283f43e8"),
        ObjectId("536a5fa4eb596a2a283f43de")
]
> db.User.find({"_id" : {$in : foo}});
{ "_id" : ObjectId("535fd8e6eb596a27ec924d15"), "FirstName" : "John", ...