$exists - Amazon DocumentDB

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

$exists

$existsOperator digunakan untuk memeriksa apakah bidang ada dalam dokumen atau tidak. $existssangat berguna saat bekerja dengan indeks jarang di Amazon DocumentDB, di mana bidang yang diindeks mungkin tidak ada di semua dokumen.

Untuk menggunakan indeks jarang yang telah Anda buat dalam kueri, Anda harus menggunakan klausa $exists pada bidang yang mencakup indeks tersebut. Jika Anda menghilangkan$exists, Amazon DocumentDB tidak akan menggunakan indeks jarang untuk kueri.

Parameter

  • field: Nama bidang untuk memeriksa keberadaan.

  • value: Nilai boolean (trueataufalse) yang menentukan apakah bidang harus ada (true) atau tidak ada (false) dalam dokumen yang cocok.

Contoh (MongoDB Shell)

Contoh berikut menunjukkan penggunaan $exists operator dengan indeks jarang pada special_diets bidang dalam koleksi. food

Buat dokumen sampel

db.food.insertMany([ { _id: 1, name: "Apple", special_diets: ["vegetarian", "gluten-free"] }, { _id: 2, name: "Broccoli" }, { _id: 3, name: "Chicken", special_diets: ["dairy-free"] } ]);

Buat indeks jarang pada bidang `special_diets`

db.food.createIndex({ "special_diets": 1 }, { sparse: true, name: "special_diets_sparse_asc" });

Contoh kueri

db.food.find({ "special_diets": { $exists: true } });

Keluaran

[ { "_id" : 1, "name" : "Apple", "special_diets" : [ "vegetarian", "gluten-free" ] }, { "_id" : 3, "name" : "Chicken", "special_diets" : [ "dairy-free" ] } ]

Contoh kode

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

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('food'); const result = await collection.find({ "special_diets": { $exists: true } }).toArray(); console.log(result); await client.close(); } main();
Python
import pymongo client = pymongo.MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false') db = client['test'] collection = db['food'] result = list(collection.find({"special_diets": {"$exists": True}})) print(result) client.close()