📜  MongoDB OR运算符($ or)

📅  最后修改于: 2021-04-16 09:10:48             🧑  作者: Mango

MongoDB提供了不同类型的逻辑查询运算符,而$ or运算符就是其中之一。该运算符用于在两个或多个表达式的数组上执行逻辑或运算,并仅选择或检索与数组中至少一个给定表达式匹配的那些文档。

  • 您可以根据需要在诸如find(),update()等的方法中使用此运算符。
  • 您还可以将此运算符与文本查询,GeoSpatial查询和排序操作一起使用。
  • 当MongoDB评估$ or表达式中的子句时,它将执行集合扫描。或者,如果索引支持$ or表达式中的所有子句,则MongoDB将执行索引扫描。
  • 您还可以嵌套$或操作。

句法:

{ $or: [ { Expression1 }, { Expression2 }, ..., { ExpressionN } ] }

在以下示例中,我们正在使用:

使用$or运算符匹配值:

在此示例中,我们仅检索分支机构为ECE或joiningYear为2017的那些雇员的文档。

db.contributor.find({$or: [{branch: "ECE"},
                     {joiningYear: 2017}]}).pretty()

使用$or运算符匹配嵌套/嵌入文档中的值:

在此示例中,我们仅检索年龄为24岁或州为德里的那些雇员的文档。

db.contributor.find({$or: [{"personal.age": 24}, 
                     {"personal.state": "Delhi"}]}).pretty()

使用$or运算符匹配数组中的值:

在此示例中,我们仅检索那些至少与给定数组中的值之一匹配的员工文档。

db.contributor.find({$or: [{language: {$in: ["Java", "C"]}}]}).pretty()