检索_ids在另一个集合中的所有文档

时间:2016-05-26 23:51:37

标签: mongodb mongodb-query

我想从" usersessions"中返回所有文件。 _id位于我的"用户"集合。

我尝试了以下内容:

db.usersessions.find( { "userId": { $in: (db.getCollection('users').find({},{"_id":1})) }  } )

返回错误:

  

错误:错误:{"等待MS" :NumberLong(0)," ok" :0," errmsg" :" $ in需要一个数组"," code" :2}

1 个答案:

答案 0 :(得分:3)

如错误消息$in中所述,需要一个数组。您可以使用distinct从“users”集合中返回_id数组。原因是_id在集合中是唯一的。

var ids = db.getCollection('users').distinct('_id');
db.usersessions.find( { "userId": { "$in": ids } })