首页 > 解决方案 > mongo-db compass 中的“或”语句

问题描述

在此处输入图像描述

在 MongoDB 指南针中。我想在 ownerName 和 ownerStreet 属性(我没有文本索引)中搜索单词“LLC”的集合。我从以下内容开始:

{ownerName: {$regex: / LLC/i}}

这给出了 3043 个结果。

但是使用:

{ownerName: {$regex: RegExp(' LLC')},ownerStreet: {$regex: RegExp(' LLC')}}

只给出 100

意味着这是一个“和”陈述而不是“或”

如何在指南针中使用“或”语句过滤器?

标签: mongodbmongodb-compass

解决方案


您可以使用$or运算符。

db.collection.find({
  $or: [
    {
      ownerName: { $regex: RegExp(' LLC') }
    },
    {
      ownerStreet: { $regex: RegExp(' LLC') }
    }
  ]
})

您甚至可以将其简化为

db.collection.find({
  $or: [
    {
      ownerName: / LLC/
    },
    {
      ownerStreet: / LLC/
    }
  ]
})

推荐阅读