Visit complete MongoDB roadmap

← Back to Topics List

Logical Operators

In MongoDB, logical operators are used to filter the results of queries based on multiple conditions. These operators provide flexibility to perform complex comparisons and create more sophisticated queries. The key logical operators in MongoDB are:

  • $and: Matches for documents where all the specified conditions are true.
  • $or: Matches for documents where at least one of the specified conditions is true.
  • $not: Matches for documents where the specified condition is false.
  • $nor: Matches for documents where none of the specified conditions are true.

Below is a brief explanation of each operator along with examples.

$and

The $and operator is used to combine multiple conditions in a query, and will only return documents where all the conditions are met. The syntax is as follows:

{ $and: [ { condition1 }, { condition2 }, ... ] }

Example:

db.collection_name.find({ $and: [{ key1: value1 }, { key2: value2 }] });

In this example, only documents that have both key1 as value1 and key2 as value2 would be returned.

$or

The $or operator is used to return documents where at least one of the specified conditions is true. The syntax is as follows:

{ $or: [ { condition1 }, { condition2 }, ... ] }

Example:

db.collection_name.find({ $or: [{ key1: value1 }, { key2: value2 }] });

In this example, documents that have either key1 as value1 or key2 as value2 would be returned.

$not

The $not operator is used to negate a condition, so only documents where the specified condition is not true will be returned. The syntax is as follows:

{
  key: {
    $not: {
      operator_expression;
    }
  }
}

Example:

db.collection_name.find({ key1: { $not: { $eq: value1 } } });

In this example, only documents where key1 is not equal to value1 would be returned.

$nor

The $nor operator is used to return documents where none of the specified conditions are true. The syntax is as follows:

{ $nor: [ { condition1 }, { condition2 }, ... ] }

Example:

db.collection_name.find({ $nor: [{ key1: value1 }, { key2: value2 }] });

In this example, only documents where key1 is not equal to value1 and key2 is not equal to value2 would be returned.

Community

roadmap.sh is the 6th most starred project on GitHub and is visited by hundreds of thousands of developers every month.

Roadmaps Best Practices Guides Videos Store YouTube

roadmap.sh by Kamran Ahmed

Community created roadmaps, articles, resources and journeys to help you choose your path and grow in your career.

© roadmap.sh · FAQs · Terms · Privacy

ThewNewStack

The leading DevOps resource for Kubernetes, cloud-native computing, and the latest in at-scale development, deployment, and management.