$first - 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.

$first

Nuevo desde la versión 5.0.

No es compatible con el clúster de Elastic.

El $first operador de Amazon DocumentDB devuelve el primer documento de un conjunto agrupado de documentos. Se suele utilizar en las canalizaciones de agregación para recuperar el primer documento que cumple una condición específica.

Parámetros

  • expression: La expresión que se devolverá como el primer valor de cada grupo.

Ejemplo (MongoDB Shell)

El siguiente ejemplo demuestra el uso del $first operador para recuperar el primer valor de elemento encontrado para cada categoría durante la agregación.

Nota: $first devuelve el primer documento en función del orden actual de los documentos en proceso. Para garantizar un orden específico (por ejemplo, por fecha, precio, etc.), se debe utilizar una $sort etapa antes de la $group etapa.

Cree documentos de muestra

db.products.insertMany([ { _id: 1, item: "abc", price: 10, category: "food" }, { _id: 2, item: "jkl", price: 20, category: "food" }, { _id: 3, item: "xyz", price: 5, category: "toy" }, { _id: 4, item: "abc", price: 5, category: "toy" } ]);

Ejemplo de consulta

db.products.aggregate([ { $group: { _id: "$category", firstItem: { $first: "$item" } } } ]);

Salida

[ { "_id" : "food", "firstItem" : "abc" }, { "_id" : "toy", "firstItem" : "xyz" } ]

Ejemplos de código

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

Node.js
const { MongoClient } = require('mongodb'); async function example() { const uri = 'mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false'; const client = new MongoClient(uri); try { await client.connect(); const db = client.db('test'); const collection = db.collection('products'); const result = await collection.aggregate([ { $group: { _id: "$category", firstItem: { $first: "$item" } } } ]).toArray(); console.log(result); } catch (error) { console.error('Error:', error); } finally { await client.close(); } } example();
Python
from pymongo import MongoClient from pprint import pprint def example(): client = None try: 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['products'] result = list(collection.aggregate([ { '$group': { '_id': '$category', 'firstItem': { '$first': '$item' } } } ])) pprint(result) except Exception as e: print(f"An error occurred: {e}") finally: if client: client.close() example()