Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Operator $eq digunakan untuk mencocokkan dokumen di mana nilai bidang sama dengan nilai yang ditentukan. Operator $eq memfilter dokumen berdasarkan kecocokan yang tepat pada predikat kueri untuk mengambil dokumen dengan nilai, objek, dan array tertentu.
Syntax
{
field: {
$eq: <value>
}
}
Parameter-parameternya
| Pengaturan | Description |
|---|---|
field |
Bidang yang akan dibandingkan |
value |
Nilai untuk dibandingkan |
Examples
Pertimbangkan dokumen sampel ini dari koleksi toko.
{
"_id": "0fcc0bf0-ed18-4ab8-b558-9848e18058f4",
"name": "First Up Consultants | Beverage Shop - Satterfieldmouth",
"location": {
"lat": -89.2384,
"lon": -46.4012
},
"staff": {
"totalStaff": {
"fullTime": 8,
"partTime": 20
}
},
"sales": {
"totalSales": 75670,
"salesByCategory": [
{
"categoryName": "Wine Accessories",
"totalSales": 34440
},
{
"categoryName": "Bitters",
"totalSales": 39496
},
{
"categoryName": "Rum",
"totalSales": 1734
}
]
},
"promotionEvents": [
{
"eventName": "Unbeatable Bargain Bash",
"promotionalDates": {
"startDate": {
"Year": 2024,
"Month": 6,
"Day": 23
},
"endDate": {
"Year": 2024,
"Month": 7,
"Day": 2
}
},
"discounts": [
{
"categoryName": "Whiskey",
"discountPercentage": 7
},
{
"categoryName": "Bitters",
"discountPercentage": 15
},
{
"categoryName": "Brandy",
"discountPercentage": 8
},
{
"categoryName": "Sports Drinks",
"discountPercentage": 22
},
{
"categoryName": "Vodka",
"discountPercentage": 19
}
]
},
{
"eventName": "Steal of a Deal Days",
"promotionalDates": {
"startDate": {
"Year": 2024,
"Month": 9,
"Day": 21
},
"endDate": {
"Year": 2024,
"Month": 9,
"Day": 29
}
},
"discounts": [
{
"categoryName": "Organic Wine",
"discountPercentage": 19
},
{
"categoryName": "White Wine",
"discountPercentage": 20
},
{
"categoryName": "Sparkling Wine",
"discountPercentage": 19
},
{
"categoryName": "Whiskey",
"discountPercentage": 17
},
{
"categoryName": "Vodka",
"discountPercentage": 23
}
]
}
]
}
Contoh 1: Menggunakan filter $eq pada bidang tingkat akar
Untuk menemukan toko dengan nama "Boulder Innovations | Home Security Place - Ankundingburgh", jalankan kueri dengan predikat $eq untuk mencocokkan pada kolom nama dan hanya memproyeksikan kolom ID dan nama dalam hasilnya.
db.stores.find({
name: {
$eq: "Boulder Innovations | Home Security Place - Ankundingburgh"
}
}, {
name: 1
})
Kueri ini mengembalikan hasil berikut:
[
{
"_id": "bda56164-954d-4f47-a230-ecf64b317b43",
"name": "Boulder Innovations | Home Security Place - Ankundingburgh"
}
]
Contoh 2: Menggunakan filter $eq pada bidang berlapis
Untuk menemukan toko dengan total penjualan tepat $37.015, jalankan kueri menggunakan operator $eq dengan notasi titik pada bidang berlapis sales.totalSales.
db.stores.find({
"sales.totalSales": {
$eq: 37015
}
}, {
name: 1,
"sales.totalSales": 1
})
Ini mengembalikan hasil berikut:
[
{
"_id": "bda56164-954d-4f47-a230-ecf64b317b43",
"name": "Boulder Innovations | Home Security Place - Ankundingburgh",
"sales": { "totalSales": 37015 }
}
]
Contoh 3: Menggunakan $eq untuk item individual dalam array
Kueri berikut mengambil dokumen menggunakan predikat kesetaraan pada item individual dalam array promotionEvents.discounts yang tertumpuk.
Kueri ini mencari kecocokan kesetaraan pada salah satu objek dalam array diskon berlapis
db.stores.find({
"promotionEvents.discounts": {
$eq: {
categoryName: "Alarm Systems",
discountPercentage: 5
}
}
}, {
name: 1
}, {
limit: 2
})
Kueri ini mengembalikan hasil berikut:
[
{
"_id": "ece5bf6c-3255-477e-bf2c-d577c82d6995",
"name": "Proseware, Inc. | Home Security Boutique - Schambergertown"
},
{
"_id": "7baa8fd8-113a-4b10-a7b9-2c116e976491",
"name": "Tailwind Traders | Home Security Pantry - Port Casper"
}
]
Contoh 4: Gunakan $eq untuk mencocokkan seluruh array
Kueri ini mencari dokumen berdasarkan kecocokan yang tepat pada SEMUA nilai dalam array promotionEvents.discounts.
db.stores.find({
"promotionEvents.discounts": {
$eq: [{
categoryName: "Alarm Systems",
discountPercentage: 5
}, {
categoryName: "Door Locks",
discountPercentage: 12
}]
}
}, {
name: 1
})
Kueri ini mengembalikan hasil berikut:
[
{
"_id": "aa9ad64c-29da-42f8-a1f0-30e03bf04a2d",
"name": "Boulder Innovations | Home Security Market - East Sheridanborough"
}
]
Nota
Untuk kecocokan kesetaraan pada seluruh array, urutan nilai yang ditentukan dalam predikat kesetaraan juga harus sama persis.
Konten terkait
- Tinjau opsi untuk bermigrasi dari MongoDB ke Azure DocumentDB.
- Baca selengkapnya tentang kompatibilitas fitur dengan MongoDB.