$setEquals - Amazon DocumentDB

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

$setEquals

Amazon DocumentDB の $setEquals演算子は、2 つのセットが等しいかどうかを判断するために使用されます。2 つの配列を比較し、順序に関係なく同じ異なる要素が含まれているtrue場合は を返します。

パラメータ

  • expression1: 比較する最初の配列。

  • expression2: 比較する 2 番目の配列。

例 (MongoDB シェル)

次の例は、 $setEquals演算子を使用して 2 つの値のセットを比較する方法を示しています。

サンプルドキュメントを作成する

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

クエリの例

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

出力

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

クエリは $setEquals演算子を使用して、各ドキュメントの fruitsフィールドを配列 と比較します["apple", "banana", "cherry"]fruits フィールドが比較配列と等しいドキュメントが返されます。

コードの例

$setEquals コマンドを使用するコード例を表示するには、使用する言語のタブを選択します。

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