$and - Amazon DocumentDB
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

$and

The $and operator in Amazon DocumentDB is used to combine multiple expressions and evaluate them as a single condition. It returns true if all the provided expressions evaluate to true, and false otherwise. This operator is useful for applying multiple criteria to a query.

Parameters

  • expression1: A required expression that evaluates to a boolean value.

  • expression2: A required expression that evaluates to a boolean value.

  • ...: Additional required expressions that evaluate to boolean values.

Example (MongoDB Shell)

The following example demonstrates the use of the $and operator to find all documents in the "users" collection where the "age" field is greater than 18 and the "status" field is "active".

Create sample documents

db.users.insertMany([ { name: "John", age: 25, status: "active" }, { name: "Jane", age: 17, status: "active" }, { name: "Bob", age: 30, status: "inactive" }, { name: "Alice", age: 22, status: "active" } ]);

Query example

db.users.find({ $and: [ { age: { $gt: 18 } }, { status: "active" } ] });

Output

[ { "_id" : ObjectId("614e3c4b63f5892e7c4e2345"), "name" : "John", "age" : 25, "status" : "active" }, { "_id" : ObjectId("614e3c4b63f5892e7c4e2347"), "name" : "Alice", "age" : 22, "status" : "active" } ]

Code examples

To view a code example for using the $and command, choose the tab for the language that you want to use:

Node.js
const { MongoClient } = require('mongodb'); async function findActiveUsersOlderThan18() { const client = await MongoClient.connect('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false'); const db = client.db('test'); const users = db.collection('users'); const activeUsersOlderThan18 = await users.find({ $and: [ { age: { $gt: 18 } }, { status: 'active' } ] }).toArray(); console.log(activeUsersOlderThan18); await client.close(); } findActiveUsersOlderThan18();
Python
from pymongo import MongoClient def find_active_users_older_than_18(): client = MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false') db = client['test'] users = db['users'] active_users_older_than_18 = list(users.find({ '$and': [ {'age': {'$gt': 18}}, {'status': 'active'} ] })) print(active_users_older_than_18) client.close() find_active_users_older_than_18()