$setEquals - Amazon DocumentDB

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

$setEquals

O $setEquals operador no Amazon DocumentDB é usado para determinar se dois conjuntos são iguais. Ele compara duas matrizes e retorna true se elas contêm os mesmos elementos distintos, independentemente da ordem.

Parâmetros

  • expression1: a primeira matriz a ser comparada.

  • expression2: a segunda matriz a ser comparada.

Exemplo (MongoDB Shell)

O exemplo a seguir demonstra o uso do $setEquals operador para comparar dois conjuntos de valores.

Crie documentos de amostra

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

Exemplo de consulta

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

Saída

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

A consulta usa o $setEquals operador para comparar o fruits campo de cada documento com a matriz["apple", "banana", "cherry"]. Os documentos em que o fruits campo é igual à matriz de comparação são retornados.

Exemplos de código

Para ver um exemplo de código para usar o $setEquals comando, escolha a guia do idioma que você deseja 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()