Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der $pull Operator wird verwendet, um alle Instanzen eines angegebenen Werts oder Werts zu entfernen, die einer Bedingung aus einem Array entsprechen. Dies ist nützlich, wenn Sie Arraydaten in Ihren Dokumenten bereinigen oder ändern müssen.
Syntax
{
$pull: { <field>: <value|condition> }
}
Parameter
| Parameter | Beschreibung |
|---|---|
<field> |
Das Feld, aus dem mindestens ein Wert entfernt werden soll. |
<value|condition> |
Der Wert oder die Bedingung, der aus dem Array entfernt werden soll. |
Beispiele
Betrachten Sie dieses Beispieldokument aus der Speichersammlung.
{
"_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
}
]
}
]
}
Beispiel 1: Entfernen eines bestimmten Tags aus dem tag Array
Um den Wert "#SeasonalSale" aus dem Tagarrayfeld zu entfernen, führen Sie eine Abfrage mithilfe des $pull-Operators im Tagfeld aus.
db.stores.update({
_id: "7954bd5c-9ac2-4c10-bb7a-2b79bd0963c5"
}, {
$pull: {
tag: "#SeasonalSale"
}
})
Diese Abfrage gibt das folgende Ergebnis zurück.
[
{
"acknowledged": true,
"insertedId": null,
"matchedCount": "1",
"modifiedCount": "1",
"upsertedCount": 0
}
]
Beispiel 2: Entfernen aller Ereignisse aus dem promotionEvents Array, das vor einem bestimmten Datum endet
Wenn Sie alle Elemente aus dem Array "promotionEvents" entfernen möchten, bei dem das EndDate-Jahr 2024 ist und der EndDate-Monat vor März liegt, führen Sie eine Abfrage mit dem Operator $pull im Feld "promotionEvents" mit den angegebenen Datumswerten aus.
db.stores.update({
_id: "7954bd5c-9ac2-4c10-bb7a-2b79bd0963c5"
}, {
$pull: {
promotionEvents: {
"promotionalDates.endDate.Year": 2024,
"promotionalDates.endDate.Month": {
$lt: 3
}
}
}
}
)
Diese Abfrage gibt das folgende Ergebnis zurück.
[
{
"acknowledged": true,
"insertedId": null,
"matchedCount": "1",
"modifiedCount": "1",
"upsertedCount": 0
}
]
Zugehöriger Inhalt
- Überprüfen Sie die Optionen für die Migration von MongoDB zu Azure Cosmos DB für MongoDB (vCore).
- Weitere Informationen zur Featurekompatibilität mit MongoDB.