'Or' mongo-db 罗盘中的语句

'Or' statement in mongo-db compass

在Mongodb罗盘中。我想在 ownerName 和 ownerStreet 属性中搜索“LLC”一词的集合(我没有文本索引。)我从 :

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

给出了 3043 个结果。

然而使用:

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

只给出 100

表示这是一个 'and' 语句而不是 'or'

如何在罗盘中使用 'or' 语句过滤器?

您可以使用 $or 运算符。

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

你甚至可以将其简化为

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