Compartir a través de


delete

El delete comando se usa para quitar documentos de una colección. Un único documento o varios documentos se pueden eliminar en función de un filtro de consulta especificado.

Syntax

La sintaxis básica del delete comando es la siguiente:

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

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

Parámetros

Parámetro Description
<filter> Documento que especifica los criterios de eliminación. Solo se eliminan los documentos que coinciden con el filtro.
options Optional. Documento que especifica opciones para la operación de eliminación. Entre las opciones comunes se incluyen writeConcern y intercalación

Ejemplos

Considere este documento de ejemplo de la colección stores en la base de datos 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
                }
            ]
        }
    ]
}

Ejemplo 1: Eliminación de todos los documentos de una colección

db.stores.deleteMany({})

Ejemplo 2: Eliminación de un documento que coincida con un filtro de consulta especificado

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

Ejemplo 3: Eliminación de todos los documentos que coinciden con un filtro de consulta especificado

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

Ejemplo 3: Eliminar solo uno de los muchos documentos que coinciden con un filtro de consulta especificado

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