$collStats

Die $collStats-Phase in der Aggregationspipeline wird verwendet, um Statistiken zu einer Sammlung zurückzugeben. Diese Phase kann besonders hilfreich sein, um die Leistungsmerkmale einer Sammlung zu verstehen, z. B. die Anzahl der Dokumente, die Größe der Sammlung und Speicherstatistiken. Sie enthält detaillierte Informationen, die bei der Datenbankoptimierung und -überwachung helfen können.

Syntax

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

Die Parameter

Parameter Description
latencyStats Wahlfrei. Gibt an, ob Latenzstatistiken einbezogen werden sollen. Das Feld histograms ist ein boolescher Wert, der angibt, ob Histogramme von Latenzdaten eingeschlossen werden sollen.
storageStats Wahlfrei. Gibt an, ob Speicherstatistiken einbezogen werden sollen. Das Feld scale ist eine Zahl, die den Skalierungsfaktor für die Speicherstatistiken angibt.
count Wahlfrei. Enthält die Anzahl der Dokumente in der Sammlung.

Examples

Betrachten Sie dieses Beispieldokument aus der Stores-Sammlung.

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

Beispiel: Grundlegende Sammlungsstatistiken

Diese Abfrage zählt alle Dokumente in der Speichersammlung.

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

Diese Abfrage gibt das folgende Ergebnis zurück:

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