$size - Amazon DocumentDB

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

$size

L'opérateur de $size requête fait correspondre les documents dans lesquels un champ de tableau contient exactement le nombre d'éléments spécifié. Cela est utile pour filtrer les documents en fonction de la longueur du tableau.

Paramètres

  • field: le champ du tableau à vérifier.

  • count: le nombre exact d'éléments que le tableau doit contenir.

Exemple (MongoDB Shell)

L'exemple suivant montre comment utiliser l'$sizeopérateur pour rechercher tous les produits comportant exactement trois balises.

Création d'exemples de documents

db.products.insertMany([ { _id: 1, name: "Laptop", tags: ["electronics", "computers", "portable"] }, { _id: 2, name: "Mouse", tags: ["electronics", "accessories"] }, { _id: 3, name: "Desk", tags: ["furniture", "office", "workspace"] }, { _id: 4, name: "Monitor", tags: ["electronics"] } ]);

Exemple de requête

db.products.find({ tags: { $size: 3 } });

Sortie

{ "_id" : 1, "name" : "Laptop", "tags" : [ "electronics", "computers", "portable" ] } { "_id" : 3, "name" : "Desk", "tags" : [ "furniture", "office", "workspace" ] }

Exemples de code

Pour afficher un exemple de code relatif à l'utilisation de l'opérateur de $size requête, choisissez l'onglet correspondant à la langue que vous souhaitez utiliser :

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('products'); const result = await collection.find({ tags: { $size: 3 } }).toArray(); console.log(JSON.stringify(result, null, 2)); await 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['products'] result = list(collection.find({'tags': {'$size': 3}})) print(result) client.close() example()