【问题标题】:Negative search in MongoDBMongoDB中的否定搜索
【发布时间】:2016-02-11 14:24:42
【问题描述】:

我正在尝试在 Mongo 中扩展我的否定搜索。

我正在使用这个:

db.name.find({"name":/^((?!Ford).)/, $exist : true});

这行得通。在此示例中,这将返回名称字段不包含单词或单词“Ford”的所有文档。

但是,有些文件没有关键的“名称”,我也想得到那些文件。在上面的示例中,我想获取名称中不包含单词“Ford”的所有文档以及根本不存在键“name”的文档。

我尝试使用$exist : false,但这并没有得到我期望的结果。

【问题讨论】:

  • 解决您自己问题的方法。我建议将您的答案添加为答案并接受它。
  • 当您自己找到答案后,请写下您自己问题的答案。这不仅在 stackoverflow 上是允许的,甚至鼓励以这种方式分享您的知识。
  • 很抱歉我不知道这个角色。

标签: mongodb mongodb-query


【解决方案1】:

解决了!

我们没有使用 '$or' 运算符,这就是为什么它不能与 $exists => false 一起使用

这里是解决方案:

db.getCollection('name').find({ 
                             $or: [ { "name": { $exists: false } }, 
                                    { "name":/^((?!Ford)}
                                  ]);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-21
    • 1970-01-01
    • 1970-01-01
    • 2017-09-18
    • 2015-09-05
    • 1970-01-01
    • 2019-08-03
    • 1970-01-01
    相关资源
    最近更新 更多