delete

Kommandot delete används för att ta bort dokument från en samling. Ett enskilt dokument eller flera dokument kan tas bort baserat på ett angivet frågefilter.

Syntax

Den grundläggande syntaxen delete för kommandot är följande:

db.collection.deleteOne(
   <filter>,
   <options>
)

db.collection.deleteMany(
   <filter>,
   <options>
)

Parameterar

Parameter Description
<filter> Ett dokument som anger villkoren för borttagning. Endast de dokument som matchar filtret tas bort
options Valfritt. Ett dokument som anger alternativ för borttagningsåtgärden. Vanliga alternativ är writeConcern och sortering

Exempel

Överväg det här exempeldokumentet från lagringssamlingen i StoreData-databasen.

{
    "_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
                }
            ]
        }
    ]
}

Exempel 1 – Ta bort alla dokument i en samling

db.stores.deleteMany({})

Exempel 2 – Ta bort ett dokument som matchar ett angivet frågefilter

db.stores.deleteOne({"_id": "68471088-4d45-4164-ae58-a9428d12f310"})

Exempel 3 – Ta bort alla dokument som matchar ett angivet frågefilter

db.stores.deleteMany({"promotionEvents.discounts.discountPercentage": 21}, {"limit": 0})

Exempel 3 – Ta bara bort ett av många dokument som matchar ett angivet frågefilter

db.stores.deleteMany({"promotionEvents.discounts.discountPercentage": 21}, {"limit": 1})