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 $pull digunakan untuk menghapus semua instans nilai atau nilai tertentu yang cocok dengan kondisi dari array. Ini berguna ketika Anda perlu membersihkan atau memodifikasi data array dalam dokumen Anda.
Syntax
{
$pull: { <field>: <value|condition> }
}
Parameter-parameternya
| Pengaturan | Description |
|---|---|
<field> |
Bidang untuk menghapus satu atau beberapa nilai. |
<value|condition> |
Nilai atau kondisi yang akan dihapus dari array. |
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: Menghapus tag tertentu dari tag array
Untuk menghapus nilai "#SeasonalSale" dari bidang array tag, jalankan kueri menggunakan operator $pull pada bidang tag.
db.stores.update({
_id: "7954bd5c-9ac2-4c10-bb7a-2b79bd0963c5"
}, {
$pull: {
tag: "#SeasonalSale"
}
})
Kueri ini mengembalikan hasil berikut.
[
{
"acknowledged": true,
"insertedId": null,
"matchedCount": "1",
"modifiedCount": "1",
"upsertedCount": 0
}
]
Contoh 2: Menghapus semua peristiwa dari promotionEvents array yang berakhir sebelum tanggal tertentu
Untuk menghapus semua elemen dari array promotionEvents di mana tahun endDate adalah 2024 dan bulan endDate lebih awal dari Maret, jalankan kueri menggunakan operator $pull pada bidang promotionEvents dengan nilai tanggal yang ditentukan.
db.stores.update({
_id: "7954bd5c-9ac2-4c10-bb7a-2b79bd0963c5"
}, {
$pull: {
promotionEvents: {
"promotionalDates.endDate.Year": 2024,
"promotionalDates.endDate.Month": {
$lt: 3
}
}
}
}
)
Kueri ini mengembalikan hasil berikut.
[
{
"acknowledged": true,
"insertedId": null,
"matchedCount": "1",
"modifiedCount": "1",
"upsertedCount": 0
}
]