在mongoDB中使用相同的密钥进行搜索

时间:2014-02-28 14:03:35

标签: javascript 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']        
             } 
        }
);

但不起作用

2 个答案:

答案 0 :(得分:5)

您可以尝试这样:

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

答案 1 :(得分: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']   } })

您可以在此处找到更多信息:

我希望这有用。