2014-02-28 17 views
0

我在MongoDB的新的,我希望我的收藏具有相同的密钥搜索MongoDB中

中查找特定用户在这种情况下,我希望用户使用这些角色

这是我的脚本

db.users.aggregate(
     { $match : 
      { 
       'role.name': 'Elite', 
       'role.name': 'SuperElite',     
      } 
     } 
); 

该查询在我的MongoDB的工作,但我不能创建一个对象的JavaScript,如:

var query_obj = {'role.name': 'Elite','role.name': 'SuperElite'} 

我尝试也

db.users.aggregate(
     { $match : 
      { 
       'role.name': ['Elite','SuperElite']   
      } 
     } 
); 

,但不工作

回答

5

你可以尝试这样的:

db.users.aggregate(
     { $match : 
      { 
       'role.name': {$in: ['Elite','SuperElite'] }  
      } 
     } 
); 
2

如果你只是想找到的记录,这可能是更简单:

db.users.find({'role.name': {$in: ['Elite','SuperElite'] } }) 

我跑了这个简单的测试,它按预期工作:

use testdb 
db.users.insert({"role":{"name":"Elite", "x":2}}) 
db.users.insert({"role":{"name":"SuperElite", "x":3}}) 
db.users.insert({"role":{"name":"whatever", "x":4}}) 
db.users.find() 
db.users.find({'role.name': {$in: ['Elite','SuperElite'] } }) 

你可以在这里找到更多的信息:

我希望这是有帮助的。

相关问题