$collStats

Den $collStats fasen i aggregeringspipelinen används för att returnera statistik om en samling. Det här steget kan vara särskilt användbart för att förstå prestandaegenskaperna för en samling, till exempel antalet dokument, samlingens storlek och lagringsstatistik. Den innehåller detaljerad information som kan hjälpa dig med databasoptimering och övervakning.

Syntax

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

Parameterar

Parameter Description
latencyStats Valfritt. Anger om svarstidsstatistik ska inkluderas. Fältet histograms är ett booleskt värde som anger om histogram med svarstidsdata ska inkluderas.
storageStats Valfritt. Anger om lagringsstatistik ska inkluderas. Fältet scale är ett tal som anger skalningsfaktorn för lagringsstatistiken.
count Valfritt. Innehåller antalet dokument i samlingen.

Examples

Överväg det här exempeldokumentet från butiksamlingen.

{
    "_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: Statistik för grundläggande samling

Den här frågan räknar alla dokument i lagringssamlingen.

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

Den här frågan returnerar följande resultat:

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