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

$setIntersection

L'$setIntersectionopérateur dans Amazon DocumentDB est utilisé pour renvoyer les éléments communs entre deux ou plusieurs tableaux. Cet opérateur est particulièrement utile lorsque vous travaillez avec des ensembles de données, car il vous permet de trouver l'intersection de plusieurs ensembles.

Paramètres

  • array1: le premier tableau à se croiser.

  • array2: le deuxième tableau à intersecter.

  • arrayN: (facultatif) Tableaux supplémentaires à intersecter.

Exemple (MongoDB Shell)

L'exemple suivant montre comment utiliser l'$setIntersectionopérateur pour trouver les éléments communs entre deux tableaux.

Création d'exemples de documents

db.collection.insertMany([ { _id: 1, colors: ["red", "blue", "green"] }, { _id: 2, colors: ["blue", "yellow", "orange"] }, { _id: 3, colors: ["red", "green", "purple"] } ])

Exemple de requête

db.collection.aggregate([ { $project: { _id: 1, commonColors: { $setIntersection: ["$colors", ["red", "blue", "green"]] } } } ])

Sortie

[ { "_id": 1, "commonColors": ["red", "blue", "green"] }, { "_id": 2, "commonColors": ["blue"] }, { "_id": 3, "commonColors": ["red", "green"] } ]

Exemples de code

Pour afficher un exemple de code d'utilisation de la $setIntersection commande, 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('mycollection'); const result = await collection.aggregate([ { $project: { _id: 1, commonColors: { $setIntersection: ["$colors", ["red", "blue", "green"]] } } } ]).toArray(); console.log(result); 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['mycollection'] result = list(collection.aggregate([ { '$project': { '_id': 1, 'commonColors': { '$setIntersection': ["$colors", ["red", "blue", "green"]] } } } ])) print(result) client.close() example()