【问题标题】:How to make MongoDB query with $or如何使用 $or 进行 MongoDB 查询
【发布时间】:2011-06-25 04:49:30
【问题描述】:

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

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

即使此查询返回一个空结果

db.users.find({username: "user1"});

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

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

【问题讨论】:

  • or 语法看起来不错 - 这对我有用。
  • 是的,它现在也适用于我,我有 1.2.2 版并升级到 1.6.5 版,现在它工作正常。谢谢

标签: javascript mongodb find


【解决方案1】:

或者operator变成1.5.3版本的mongodb。

来自documentation

$或

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

所以问题出在旧版本的 mongodb 中。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-11
      • 2018-12-08
      • 1970-01-01
      • 1970-01-01
      • 2019-04-04
      • 2015-05-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多