$literal - Amazon DocumentDB

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

$literal

L'$literaloperatore in Amazon DocumentDB viene utilizzato per rappresentare un valore letterale all'interno di una fase di pipeline di aggregazione. Consente di includere un valore specifico, ad esempio un numero, una stringa o un valore booleano, senza interpretarlo come riferimento di campo o espressione.

Questo operatore è particolarmente utile quando è necessario includere un valore letterale come parte di una pipeline di aggregazione più complessa, ad esempio quando si creano filtri di interrogazione dinamici o si eseguono calcoli.

Parametri

Nessuno

Esempio (MongoDB Shell)

L'esempio seguente dimostra l'uso dell'$literaloperatore per includere un valore letterale in una pipeline di aggregazione. L'$literaloperatore viene utilizzato per includere il valore 18 come valore letterale nell'espressione $gt. Ciò consente alla pipeline di aggregazione di confrontare il campo di età con il valore letterale 18 per determinare se la persona è un adulto.

Crea documenti di esempio

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" } ]);

Esempio di query

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

Output

[ { "_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 } ]

Esempi di codice

Per visualizzare un esempio di codice per l'utilizzo del $literal comando, scegliete la scheda relativa alla lingua che desiderate utilizzare:

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