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

$size

El $size operador se usa para devolver el recuento de elementos dentro de un campo de matriz. Se puede utilizar para determinar el número de elementos de una matriz almacenada en un documento.

Parámetros

  • field: La ruta del campo cuyo tamaño de matriz desea devolver.

Ejemplo (MongoDB Shell)

En este ejemplo se muestra cómo usar el $size operador para devolver el recuento de equipos que sigue cada usuario.

Cree documentos de muestra

db.profiles.insertMany([ { _id: 1, name: "John Doe", teams: ["Acme", "Widgets", "Gadgets"] }, { _id: 2, name: "Jane Smith", teams: ["Acme", "Gadgets"] }, { _id: 3, name: "Bob Johnson", teams: ["Acme", "Widgets", "Gadgets"] } ]);

Ejemplo de consulta

db.profiles.aggregate([ { $project: { _id: 0, name: 1, "numberOfTeams": { $size: "$teams" } } } ])

Salida

[ { name: 'John Doe', numberOfTeams: 3 }, { name: 'Jane Smith', numberOfTeams: 2 }, { name: 'Bob Johnson', numberOfTeams: 3 } ]

Ejemplos de código

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

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