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

$setEquals

El $setEquals operador de Amazon DocumentDB se utiliza para determinar si dos conjuntos son iguales. Compara dos matrices y devuelve true si contienen los mismos elementos distintos, independientemente de su orden.

Parámetros

  • expression1: La primera matriz que se va a comparar.

  • expression2: La segunda matriz que se va a comparar.

Ejemplo (MongoDB Shell)

El siguiente ejemplo demuestra el uso del $setEquals operador para comparar dos conjuntos de valores.

Cree documentos de muestra

db.collection.insertMany([ { _id: 1, fruits: ["apple", "banana", "cherry"] }, { _id: 2, fruits: ["banana", "apple", "cherry"] }, { _id: 3, fruits: ["apple", "banana", "orange"] } ])

Ejemplo de consulta

db.collection.find({ $expr: { $setEquals: ["$fruits", ["apple", "banana", "cherry"]] } })

Salida

{ "_id" : 1, "fruits" : [ "apple", "banana", "cherry" ] } { "_id" : 2, "fruits" : [ "banana", "apple", "cherry" ] }

La consulta utiliza el $setEquals operador para comparar el fruits campo de cada documento con la matriz["apple", "banana", "cherry"]. Se devuelven los documentos en los que el fruits campo es igual a la matriz de comparación.

Ejemplos de código

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

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'); // Insert sample documents await collection.insertMany([ { _id: 1, fruits: ["apple", "banana", "cherry"] }, { _id: 2, fruits: ["banana", "apple", "cherry"] }, { _id: 3, fruits: ["apple", "banana", "orange"] } ]); // Query using $setEquals const result = await collection.find({ $expr: { $setEquals: ["$fruits", ["apple", "banana", "cherry"]] } }).toArray(); console.log(result); 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['mycollection'] # Insert sample documents collection.insert_many([ {"_id": 1, "fruits": ["apple", "banana", "cherry"]}, {"_id": 2, "fruits": ["banana", "apple", "cherry"]}, {"_id": 3, "fruits": ["apple", "banana", "orange"]} ]) # Query using $setEquals result = list(collection.find({ "$expr": { "$setEquals": ["$fruits", ["apple", "banana", "cherry"]] } })) print(result) client.close() example()