使用MongoDB在一次搜索中查找多个项目

时间:2013-01-08 00:40:41

标签: mongodb

我有一个用户集合和一个房间集合,房间集合存储了对房间内用户的用户ID的引用。

users = [
   {_id:1, name: 'name 1', type: 1},
   {_id:2, name: 'name 2', type: 1},
   {_id:3, name: 'name 3', type: 1},
   {_id:4, name: 'name 4', type: 1} 
];

room = {
  name: 'example room', 
  connected_users: [
    {user_id: '2', admin: false},
    {user_id: '3', admin: true}
  ]
};

有没有办法在Users集合中搜索这样或类似的连接用户的详细信息?

db.users.find({_id: [2,3]});

返回

[{_id:2, name: 'name 2', type: 1}, {_id:3, name: 'name 3', type: 1}]

2 个答案:

答案 0 :(得分:1)

这就是$in运算符的用途:

db.users.find({_id: {$in: [2,3]}});

答案 1 :(得分:1)

db.Users.find({_id: {$in: [2,3]}}).toArray();