如何使用$或。进行MongoDB查询

时间:2011-02-10 22:09:05

标签: javascript mongodb find

我正在尝试从MongoDB集合中返回一个与提供的用户名或电子邮件匹配的用户:

db.users.find({
    $or:[
        {username: "user1"},
        {email: "mail@mail.com"}
    ]
});

即使

,此查询也会返回空结果
db.users.find({username: "user1"});

db.users.find({email: "mail@mail.com"});

返回相同的对象,如何格式化查询以使其可选择提供用户名或电子邮件?

2 个答案:

答案 0 :(得分:3)

或者运营商使用1.5.3版本的mongodb。

来自documentation

  

$或

     

$或运算符允许您使用   用于执行查询的布尔值或表达式。   你给$或表达式列表,   其中任何一个都可以满足查询。      MongoDB 1.5.3中的新功能

问题出现在旧版mongodb中。

答案 1 :(得分:1)

版本1.2.2似乎不完全支持$或版本1.6.5。