换句话说,如何链接MongoDB .find()
以便第二个.find()
搜索第一个.find()
返回的游标?
MySQL支持subquery。
答案 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", ...