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

MongoDB db.collection.count()

W MongoDB db.collection.count() metoda zwraca liczbę dokumentów, które pasują do find() zapytanie dotyczące kolekcji lub widoku.

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

Zauważ, że tak naprawdę nie wykonuje find() operacja. Po prostu zlicza i zwraca liczbę wyników pasujących do zapytania.

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.count()

Wynik:

7

Jest to równoznaczne z wykonaniem następujących czynności:

db.pets.find().count()

Wynik:

7

Dokumentacja MongoDB faktycznie odradza używanie db.collection.count() bez predykatu zapytania. Dzieje się tak, ponieważ metoda zwraca wyniki na podstawie metadanych kolekcji, co może skutkować przybliżoną liczbą.

Policz wynik zapytania

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

Przykład:

db.pets.count({
    "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.count({
    "weight": { $gt: 10 }
})

Wynik:

3

Ogranicz liczbę

Możesz użyć limit parametr, aby określić maksymalną liczbę dokumentów do zliczenia.

Przykład:

db.pets.count( {}, { 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.count( {}, { 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.count( {}, { skip: 5 } )

Wynik:

2

Wycofanie

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

Sterowniki MongoDB kompatybilne z funkcjami 4.0 wypierają ich 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

db.collection.count() metoda jest opakowaniem dla count polecenie.

db.collection.count() metoda przyjmuje inne parametry, takie jak hint , maxTimeMS , readConcern i collation .

Więcej informacji znajdziesz w dokumentacji MongoDB.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak porównać 2 kolekcje mongodb?

  2. Proaktywne monitorowanie MongoDB (kąt programisty/doradców)

  3. Wyszukiwanie w mongo db przy użyciu mongoose regex vs. text

  4. Paginacja z MongoDB

  5. Mongoid:znajdź poprzez tablicę identyfikatorów