Partager via


delete

La delete commande est utilisée pour supprimer des documents d’une collection. Un document unique ou plusieurs documents peuvent être supprimés en fonction d’un filtre de requête spécifié.

Syntaxe

La syntaxe de base de la delete commande est la suivante :

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

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

Paramètres

Paramètre Descriptif
<filter> Document qui spécifie les critères de suppression. Seuls les documents qui correspondent au filtre sont supprimés
options Optional. Document qui spécifie les options de l’opération de suppression. Les options courantes incluent writeConcern et le classement

Exemple(s)

Considérez cet exemple de document à partir de la collection de magasins dans la base de données StoreData.

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

Exemple 1 : supprimer tous les documents d’une collection

db.stores.deleteMany({})

Exemple 2 : Supprimer un document qui correspond à un filtre de requête spécifié

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

Exemple 3 : supprimer tous les documents qui correspondent à un filtre de requête spécifié

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

Exemple 3 : supprimer un seul de nombreux documents qui correspondent à un filtre de requête spécifié

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