Open In App

MongoDB OR operator ( $or )

Last Updated : 11 Sep, 2021
Summarize
Comments
Improve
Suggest changes
Like Article
Like
Save
Share
Report
News Follow

MongoDB provides different types of logical query operators and $or operator is one of them. This operator is used to perform logical OR operation on the array of two or more expressions and select or retrieve only those documents that match at least one of the given expression in the array. 

  • You can use this operator in methods like find(), update(), etc. according to your requirements.
  • You can also use this operator with text queries, GeoSpatial queries, and sort operations.
  • When MongoDB evaluating the clauses in the $or expression, it performs a collection scan. Or if all the clauses in $or expression are supported by indexes, then MongoDB performs index scans.
  • You can also nest $or operation.

Syntax:  

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

In the following examples, we are working with:

Database: GeeksforGeeks 
Collection: contributor 
Document: three documents that contain the details of the contributors in the form of field-value pairs.

Matching values using $or operator:

In this example, we are retrieving only those employee’s documents whose branch is ECE or joiningYear is 2017. 

Python3




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


Matching values in nested/embedded documents using $or operator:

In this example, we are retrieving only those employee’s documents whose age is 24 or state is Delhi. 

Python3




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


Matching values in an array using $or operator:

In this example, we are retrieving only those employee’s documents that at least match one of value in the given array. 

Python3




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




Next Article

Similar Reads

Article Tags :
three90RightbarBannerImg
  翻译: