Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
$unset этап конвейера агрегирования используется для удаления указанных полей из документов. Это может быть особенно полезно, если необходимо исключить определенные поля из результатов запроса агрегирования по таким причинам, как конфиденциальность, уменьшение размера полезных данных или просто очистка выходных данных.
Синтаксис
Синтаксис $unset этапа прост. Он принимает один аргумент, который может быть именем поля или массивом имен полей, которые будут удалены из документов.
{
$unset: "<field1>" | ["<field1>", "<field2>", ...]
}
Параметры
Описание | |
---|---|
field1, field2, ... |
Имена полей, которые нужно удалить из документов. |
Примеры
Ниже приведены несколько примеров использования этапа $unset в конвейере агрегирования.
Пример 1. Удаление одного поля
Предположим, вы хотите удалить поле расположения из документов.
db.stores.aggregate([
{
$unset: "store.location"
}
])
Пример полученных результатов
[
{
"_id": "7954bd5c-9ac2-4c10-bb7a-2b79bd0963c5",
"store": {
"name": "Downtown Store",
"sales": {
"totalSales": 15000,
"salesByCategory": [
{
"category": "Electronics",
"totalSales": 5000
},
{
"category": "Clothing",
"totalSales": 10000
}
]
}
}
}
]
Пример 2. Удаление нескольких полей
Предположим, вы хотите удалить поля location и sales.totalSales из документов.
db.stores.aggregate([
{
$unset: ["store.location", "store.sales.totalSales"]
}
])
Пример полученных результатов
[
{
"_id": "7954bd5c-9ac2-4c10-bb7a-2b79bd0963c5",
"store": {
"name": "Downtown Store",
"sales": {
"salesByCategory": [
{
"category": "Electronics",
"totalSales": 5000
},
{
"category": "Clothing",
"totalSales": 10000
}
]
}
}
}
]
Пример 3. Удаление вложенных полей
Предположим, вы хотите удалить поля staff.totalStaff.fullTime и promotionEvents.discounts из документов.
db.stores.aggregate([
{
$unset: ["store.staff.totalStaff.fullTime", "store.promotionEvents.discounts"]
}
])
Пример полученных результатов
[
{
"_id": "7954bd5c-9ac2-4c10-bb7a-2b79bd0963c5",
"store": {
"name": "Downtown Store",
"staff": {
"totalStaff": {
"partTime": 8
}
},
"promotionEvents": ["Summer Sale", "Black Friday", "Holiday Deals"]
}
}
]
Связанный контент
- Рассмотрение вариантов миграции из MongoDB в Azure Cosmos DB для MongoDB (vCore)
- Начало работы с созданием учетной записи.