我正在尝试从MongoDB集合中返回一个与提供的用户名或电子邮件匹配的用户:
db.users.find({
$or:[
{username: "user1"},
{email: "mail@mail.com"}
]
});
即使
,此查询也会返回空结果db.users.find({username: "user1"});
或
db.users.find({email: "mail@mail.com"});
返回相同的对象,如何格式化查询以使其可选择提供用户名或电子邮件?
答案 0 :(得分:3)
或者运营商使用1.5.3版本的mongodb。
$或
$或运算符允许您使用 用于执行查询的布尔值或表达式。 你给$或表达式列表, 其中任何一个都可以满足查询。 MongoDB 1.5.3中的新功能
问题出现在旧版mongodb中。
答案 1 :(得分:1)
版本1.2.2似乎不完全支持$或版本1.6.5。