MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

MongoDB countDocuments()

W MongoDB db.collection.countDocuments() metoda zwraca liczbę dokumentów pasujących do zapytania dla kolekcji lub widoku.

collection część to nazwa kolekcji lub widoku do wykonania operacji liczenia.

Przykład

Załóżmy, że mamy kolekcję o nazwie pets z następującymi dokumentami:

{ "_id" : 1, "name" : "Wag", "type" : "Dog", "weight" : 20 }
{ "_id" : 2, "name" : "Bark", "type" : "Dog", "weight" : 10 }
{ "_id" : 3, "name" : "Meow", "type" : "Cat", "weight" : 7 }
{ "_id" : 4, "name" : "Scratch", "type" : "Cat", "weight" : 8 }
{ "_id" : 5, "name" : "Bruce", "type" : "Bat", "weight" : 3 }
{ "_id" : 6, "name" : "Fetch", "type" : "Dog", "weight" : 17 }
{ "_id" : 7, "name" : "Jake", "type" : "Dog", "weight" : 30 }

Aby zwrócić liczbę dokumentów w kolekcji, możemy użyć następującego zapytania:

db.pets.countDocuments({})

Wynik:

7

Policz wynik zapytania

Możesz policzyć wynik zapytania, przekazując kryteria zapytania.

Przykład:

db.pets.countDocuments({
    "type": "Dog"
})

Wynik:

4

W tym przykładzie dowiedzieliśmy się, że w kolekcji są cztery psy.

Sprawdźmy liczbę innych zapytań. Tym razem dowiemy się, ile zwierząt ma wagę większą niż określona ilość.

db.pets.countDocuments({
    "weight": { $gt: 10 }
})

Wynik:

3

Ogranicz liczbę

Korzystasz z limit parametr, aby określić maksymalną liczbę dokumentów do zliczenia.

Przykład:

db.pets.countDocuments( {}, { limit: 5 } )

Wynik:

5

Widzieliśmy wcześniej, że w tej kolekcji jest w rzeczywistości 7 dokumentów, ale w tym przykładzie ograniczyliśmy liczbę do maksymalnie 5.

Jeśli limit jest wyższy niż rzeczywista liczba, na wynik nie będzie miał wpływu limit argument.

Przykład:

db.pets.countDocuments( {}, { limit: 10 } )

Wynik:

7

Pomijanie dokumentów

Możesz liczyć, użyj skip parametr, aby pominąć liczbę dokumentów przed zliczeniem.

Przykład:

db.pets.countDocuments( {}, { skip: 5 } )

Wynik:

2

Wycofanie funkcji count() na korzyść countDocuments()

Zwróć uwagę, że dokumentacja MongoDB zawiera następujące informacje:

Sterowniki MongoDB kompatybilne z funkcjami 4.0 wypierają odpowiedni kursor i kolekcję count() API na korzyść nowych API dla countDocuments() i estimatedDocumentCount() . Aby uzyskać szczegółowe nazwy API dla danego sterownika, zapoznaj się z dokumentacją sterownika.

Więcej informacji

countDocuments() metoda nie polega na metadanych, aby zwrócić liczbę, jak count() metoda robi. Zamiast tego wykonuje agregację dokumentów, co daje dokładną liczbę (co nie zawsze można powiedzieć o count() metoda).

Zgodnie z dokumentacją MongoDB, countDocuments() jest dokładny nawet po nieczystym zamknięciu lub w obecności osieroconych dokumentów w klastrze podzielonym na fragmenty.

db.collection.count() metoda akceptuje również hint parametr i maxTimeMS parametr.

Więcej informacji znajdziesz w dokumentacji MongoDB.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Głęboka tablica aktualizacji MongoDB

  2. Błąd:getaddrinfo ENOTFOUND w nodejs do pobrania wywołania

  3. Jak uciec @ w haśle w połączeniu pymongo?

  4. Mongusta:schemat kontra model?

  5. Szybki sposób na znalezienie duplikatów w indeksowanej kolumnie w mongodb