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

$size

L'$sizeoperatore viene utilizzato per restituire il conteggio degli elementi all'interno di un campo di matrice. Questo può essere usato per determinare il numero di elementi in un array archiviato in un documento.

Parametri

  • field: il percorso del campo di cui si desidera restituire la dimensione dell'array.

Esempio (MongoDB Shell)

Questo esempio mostra come utilizzare l'$sizeoperatore per restituire il numero di team seguiti da ciascun utente.

Crea documenti di esempio

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

Esempio di query

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

Output

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

Esempi di codice

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

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