$collStats

La fase $collStats de la canalización de agregación se usa para devolver estadísticas sobre una colección. Esta fase puede ser especialmente útil para comprender las características de rendimiento de una colección, como el número de documentos, el tamaño de la colección y las estadísticas de almacenamiento. Proporciona información detallada que puede ayudar con la optimización y la supervisión de bases de datos.

Syntax

{
  $collStats: {
    latencyStats: { histograms: <boolean> },
    storageStats: { scale: <number> },
    count: {}
  }
}

Parámetros

Parámetro Description
latencyStats Optional. Especifica si se deben incluir estadísticas de latencia. El campo histograms es un valor booleano que indica si se deben incluir histogramas de datos de latencia.
storageStats Optional. Especifica si se deben incluir estadísticas de almacenamiento. El campo scale es un número que indica el factor de escala de las estadísticas de almacenamiento.
count Optional. Incluye el recuento de documentos de la colección.

Examples

Considere este documento de ejemplo de la colección de tiendas.

{
    "_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: Estadísticas básicas de recopilación

Esta consulta cuenta todos los documentos de la colección stores.

db.stores.aggregate([
  {
    $collStats: {
      count: {}
    }
  }
])

Esta consulta devuelve el siguiente resultado:

[
  { "ns": "StoreData.stores", "count": 41505 }
]