MongoDB提供了不同类型的逻辑查询运算符,而$ or运算符就是其中之一。该运算符用于在两个或多个表达式的数组上执行逻辑或运算,并仅选择或检索与数组中至少一个给定表达式匹配的那些文档。
- 您可以根据需要在诸如find(),update()等的方法中使用此运算符。
- 您还可以将此运算符与文本查询,GeoSpatial查询和排序操作一起使用。
- 当MongoDB评估$ or表达式中的子句时,它将执行集合扫描。或者,如果索引支持$ or表达式中的所有子句,则MongoDB将执行索引扫描。
- 您还可以嵌套$或操作。
句法:
{ $or: [ { Expression1 }, { Expression2 }, ..., { ExpressionN } ] }
在以下示例中,我们正在使用:
Database: GeeksforGeeks
Collection: contributor
Document: three documents that contain the details of the contributors in the form of field-value pairs.
使用$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()