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()


MongoDB OR operator ( $or )

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: w3wiki 
Collection: contributor 
Document: three documents that contain the details of the contributors in the form of field-value pairs.

Similar Reads

Matching values using $or operator:

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

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

...

Matching values in an array using $or operator:

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

Contact Us