$collStats

Etap $collStats w potoku agregacji służy do zwracania statystyk dotyczących kolekcji. Ten etap może być szczególnie przydatny do zrozumienia cech wydajności kolekcji, takich jak liczba dokumentów, rozmiar kolekcji i statystyki magazynu. Zawiera szczegółowe informacje, które mogą pomóc w optymalizacji i monitorowaniu bazy danych.

Składnia

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

Parametry

Parameter Description
latencyStats Opcjonalny. Określa, czy należy uwzględnić statystyki opóźnień. Pole histograms jest wartością logiczną, która wskazuje, czy należy uwzględnić histogramy danych opóźnienia.
storageStats Opcjonalny. Określa, czy należy uwzględnić statystyki magazynu. Pole scale jest liczbą wskazującą współczynnik skalowania statystyk magazynu.
count Opcjonalny. Zawiera liczbę dokumentów w kolekcji.

Przykłady

Rozważmy ten przykładowy dokument z kolekcji sklepów.

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

Przykład: Podstawowe statystyki kolekcji

To zapytanie zlicza wszystkie dokumenty w kolekcji sklepów.

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

To zapytanie zwraca następujący wynik:

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