2014-02-28 16 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'] } }) 

你可以在這裏找到更多的信息:

我希望這是有幫助的。

相關問題