$setDifference - Amazon DocumentDB

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

$setDifference

Baru dari versi 4.0.

$setDifferenceOperator di Amazon DocumentDB digunakan untuk membandingkan dua set dan mengembalikan elemen yang ada di set pertama tetapi tidak di set kedua. Operator ini berguna untuk menemukan elemen unik antara dua set.

Parameter

  • firstSet: Set pertama untuk membandingkan.

  • secondSet: Set kedua untuk membandingkan.

Contoh (MongoDB Shell)

Contoh berikut menunjukkan bagaimana menggunakan $setDifference operator untuk menemukan elemen unik antara dua set.

Buat dokumen sampel

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

Contoh kueri

db.collection.aggregate([ { $project: { uniqueFruits: { $setDifference: ["$fruits", ["banana", "cherry", "date"]] } } } ]);

Keluaran

[ { "_id": 1, "uniqueFruits": ["apple"] }, { "_id": 2, "uniqueFruits": ["elderberry"] } ]

Kueri melakukan langkah-langkah berikut:

1. Ini menggunakan $project panggung untuk membuat bidang baru uniqueFruits untuk setiap dokumen.

2. $setDifferenceOperator membandingkan fruits array dengan array ["banana", "cherry", "date"] dan mengembalikan elemen unik dalam fruits array.

Contoh kode

Untuk melihat contoh kode untuk menggunakan $setDifference perintah, pilih tab untuk bahasa yang ingin Anda gunakan:

Node.js

Berikut adalah contoh cara menggunakan $setDifference operator dalam aplikasi Node.js:

const { MongoClient } = require('mongodb'); async function main() { 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", "date"] }, { _id: 2, fruits: ["banana", "cherry", "date", "elderberry"] } ]); // Query using $setDifference const result = await collection.aggregate([ { $project: { uniqueFruits: { $setDifference: ["$fruits", ["banana", "cherry", "date"]] } } } ]).toArray(); console.log(result); await client.close(); } main();
Python

Berikut adalah contoh cara menggunakan $setDifference operator dalam aplikasi Python:

from pymongo import MongoClient def main(): 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", "date"]}, {'_id': 2, 'fruits': ["banana", "cherry", "date", "elderberry"]} ]) # Query using $setDifference result = list(collection.aggregate([ { '$project': { 'uniqueFruits': {'$setDifference': ['$fruits', ["banana", "cherry", "date"]]} } } ])) print(result) client.close() if __name__ == '__main__': main()