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.
Tahap $unset alur agregasi digunakan untuk menghapus bidang tertentu dari dokumen. Ini dapat sangat berguna ketika Anda perlu mengecualikan bidang tertentu dari hasil kueri agregasi karena alasan seperti privasi, mengurangi ukuran payload, atau hanya membersihkan output.
Syntax
{
$unset: "<field1>" | ["<field1>", "<field2>", ...]
}
Parameter-parameternya
| Pengaturan | Description |
|---|---|
field1, field2, ... |
Nama bidang yang akan dihapus dari dokumen. |
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 satu bidang
Untuk menghapus bidang lokasi dari dokumen.
db.stores.aggregate([
{
$unset: "store.location"
}
])
Hasil pertama yang dikembalikan oleh kueri ini adalah:
[
{
"_id": "7954bd5c-9ac2-4c10-bb7a-2b79bd0963c5",
"store": {
"name": "Downtown Store",
"sales": {
"totalSales": 15000,
"salesByCategory": [
{
"category": "Electronics",
"totalSales": 5000
},
{
"category": "Clothing",
"totalSales": 10000
}
]
}
}
}
]
Contoh 2: Menghapus beberapa bidang
Untuk menghapus bidang lokasi dan sales.totalSales dari dokumen.
db.stores.aggregate([
{
$unset: ["store.location", "store.sales.totalSales"]
}
])
Hasil pertama yang dikembalikan oleh kueri ini adalah:
[
{
"_id": "7954bd5c-9ac2-4c10-bb7a-2b79bd0963c5",
"store": {
"name": "Downtown Store",
"sales": {
"salesByCategory": [
{
"category": "Electronics",
"totalSales": 5000
},
{
"category": "Clothing",
"totalSales": 10000
}
]
}
}
}
]
Contoh 3: Menghapus bidang berlapis
Untuk menghapus bidang staff.totalStaff.fullTime dan promotionEvents.discounts dari dokumen.
db.stores.aggregate([
{
$unset: ["store.staff.totalStaff.fullTime", "store.promotionEvents.discounts"]
}
])
Hasil pertama yang dikembalikan oleh kueri ini adalah:
[
{
"_id": "7954bd5c-9ac2-4c10-bb7a-2b79bd0963c5",
"store": {
"name": "Downtown Store",
"staff": {
"totalStaff": {
"partTime": 8
}
},
"promotionEvents": ["Summer Sale", "Black Friday", "Holiday Deals"]
}
}
]