Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Operatorn $pull
används för att ta bort alla instanser av ett angivet värde eller värden som matchar ett villkor från en matris. Detta är användbart när du behöver rensa eller ändra matrisdata i dina dokument.
Syntax
{ $pull: { <field>: <value|condition> } }
Parametrar
beskrivning | |
---|---|
<field> |
Fältet som du vill ta bort ett eller flera värden från. |
<value|condition> |
Värdet eller villkoret som ska tas bort från matrisen. |
Exempel
Nu ska vi förstå användningen med följande exempel-json.
{
"_id": "7954bd5c-9ac2-4c10-bb7a-2b79bd0963c5",
"name": "Lakeshore Retail | DJ Equipment Stop - Port Cecile",
"location": {
"lat": 60.1441,
"lon": -141.5012
},
"staff": {
"totalStaff": {
"fullTime": 2,
"partTime": 0
}
},
"sales": {
"salesByCategory": [
{
"categoryName": "DJ Headphones",
"totalSales": 35921
}
],
"fullSales": 3700
},
"promotionEvents": [
{
"eventName": "Bargain Blitz Days",
"promotionalDates": {
"startDate": {
"Year": 2024,
"Month": 3,
"Day": 11
},
"endDate": {
"Year": 2024,
"Month": 2,
"Day": 18
}
},
"discounts": [
{
"categoryName": "DJ Turntables",
"discountPercentage": 18
},
{
"categoryName": "DJ Mixers",
"discountPercentage": 15
}
]
}
],
"tag": [
"#ShopLocal",
"#SeasonalSale",
"#FreeShipping",
"#MembershipDeals"
]
}
Exempel 1: Ta bort en specifik tagg från matrisen tag
db.stores.update(
{ _id: "7954bd5c-9ac2-4c10-bb7a-2b79bd0963c5" },
{ $pull: { tag: "#SeasonalSale" } }
)
Den här frågan returnerar följande dokument.
{
"acknowledged": true,
"insertedId": null,
"matchedCount": "1",
"modifiedCount": "1",
"upsertedCount": 0
}
Exempel 2: Ta bort alla händelser från matrisen promotionEvents
som slutar före ett visst datum
db.stores.update(
{ _id: "7954bd5c-9ac2-4c10-bb7a-2b79bd0963c5" },
{ $pull: { promotionEvents: { "promotionalDates.endDate.Year": 2024, "promotionalDates.endDate.Month": { $lt: 3 } } } }
)
Den här frågan returnerar följande dokument.
{
"acknowledged": true,
"insertedId": null,
"matchedCount": "1",
"modifiedCount": "1",
"upsertedCount": 0
}
Begränsningar
Ta bort om det inte finns några begränsningar/avvikelser från Mongo-standardkommandot, annars uppdateras du efter behov.
Relaterat innehåll
- Granska alternativ för migrering från MongoDB till Azure Cosmos DB för MongoDB (virtuell kärna)
- Läs mer om funktionskompatibilitet med MongoDB