$let - Amazon DocumentDB

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

$let

El $let operador de Amazon DocumentDB se usa para vincular variables a valores y usar esas variables en la expresión. Le permite definir variables locales que se pueden usar en expresiones posteriores dentro de la misma etapa del proceso de agregación.

Parámetros

  • vars: un objeto que define las variables que se van a utilizar en la expresión.

  • in: La expresión en la que se utilizan las variables definidas en el parámetro vars.

Ejemplo (MongoDB Shell)

En este ejemplo se muestra el uso del $let operador para calcular el área de un rectángulo.

Cree documentos de muestra

db.shapes.insertMany([ { name: "Rectangle 1", length: 5, width: 3 }, { name: "Rectangle 2", length: 7, width: 4 }, { name: "Rectangle 3", length: 6, width: 2 } ]);

Ejemplo de consulta

db.shapes.aggregate([ { $project: { name: 1, area: { $let: { vars: { length: "$length", width: "$width" }, in: { $multiply: ["$$length", "$$width"] } } } } } ])

Salida

[ { "_id": ObjectId("6161e5b1a3eba3c7f2960d03"), "name": "Rectangle 1", "area": 15 }, { "_id": ObjectId("6161e5b1a3eba3c7f2960d04"), "name": "Rectangle 2", "area": 28 }, { "_id": ObjectId("6161e5b1a3eba3c7f2960d05"), "name": "Rectangle 3", "area": 12 } ]

Ejemplos de código

Para ver un ejemplo de código para usar el $let comando, elija la pestaña del idioma que desee usar:

Node.js
const { MongoClient } = require('mongodb'); async function calculateRectangleAreas() { 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('shapes'); const result = await shapes.aggregate([ { $project: { name: 1, area: { $let: { vars: { length: '$length', width: '$width' }, in: { $multiply: ['$$length', '$$width'] } } } } } ]).toArray(); console.log(result); client.close(); } calculateRectangleAreas();
Python
from pymongo import MongoClient def calculate_rectangle_areas(): 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.shapes result = list(shapes.aggregate([ { '$project': { 'name': 1, 'area': { '$let': { 'vars': { 'length': '$length', 'width': '$width' }, 'in': { '$multiply': ['$$length', '$$width'] } } } } } ])) print(result) client.close() calculate_rectangle_areas()