$literal - Amazon DocumentDB

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

$literal

L'$literalopérateur dans Amazon DocumentDB est utilisé pour représenter une valeur littérale au sein d'une étape de pipeline d'agrégation. Il vous permet d'inclure une valeur spécifique, telle qu'un nombre, une chaîne ou un booléen, sans l'interpréter comme une référence de champ ou une expression.

Cet opérateur est particulièrement utile lorsque vous devez inclure une valeur littérale dans le cadre d'un pipeline d'agrégation plus complexe, par exemple lors de la création de filtres de requêtes dynamiques ou de l'exécution de calculs.

Paramètres

Aucune

Exemple (MongoDB Shell)

L'exemple suivant illustre l'utilisation de l'$literalopérateur pour inclure une valeur littérale dans un pipeline d'agrégation. L'$literalopérateur est utilisé pour inclure la valeur 18 en tant que valeur littérale dans l'expression $gt. Cela permet au pipeline d'agrégation de comparer le champ d'âge à la valeur littérale 18 pour déterminer si la personne est un adulte.

Création d'exemples de documents

db.collection.insertMany([ { "name": "John Doe", "age": 30, "city": "New York" }, { "name": "Jane Doe", "age": 25, "city": "Los Angeles" }, { "name": "Bob Smith", "age": 35, "city": "Chicago" } ]);

Exemple de requête

db.collection.aggregate([ { $project: { name: 1, age: 1, city: 1, isAdult: { $gt: ["$age", { $literal: 18 }] } } } ]);

Sortie

[ { "_id": ObjectId("601234567890abcdef012345"), "name": "John Doe", "age": 30, "city": "New York", "isAdult": true }, { "_id": ObjectId("601234567890abcdef012346"), "name": "Jane Doe", "age": 25, "city": "Los Angeles", "isAdult": true }, { "_id": ObjectId("601234567890abcdef012347"), "name": "Bob Smith", "age": 35, "city": "Chicago", "isAdult": true } ]

Exemples de code

Pour afficher un exemple de code d'utilisation de la $literal commande, choisissez l'onglet correspondant à la langue que vous souhaitez utiliser :

Node.js
const { MongoClient } = require('mongodb'); async function example() { 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 collection = db.collection('collection'); const result = await collection.aggregate([ { $project: { name: 1, age: 1, city: 1, isAdult: { $gt: ["$age", { $literal: 18 }] } } } ]).toArray(); console.log(result); client.close(); } example();
Python
from pymongo import MongoClient def example(): client = MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false') db = client.test collection = db.collection result = list(collection.aggregate([ { '$project': { 'name': 1, 'age': 1, 'city': 1, 'isAdult': { '$gt': ["$age", { '$literal': 18 }] } } } ])) print(result) client.close() example()