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

Polecenie licznika MongoDB

W MongoDB count Polecenie agregacji zlicza liczbę dokumentów w kolekcji lub widoku.

Zwraca dokument, który zawiera liczbę oraz status polecenia.

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.runCommand( { count: "pets" } )

Wynik:

{ "n" : 7, "ok" : 1 }

Dokumentacja MongoDB faktycznie odradza używanie count polecenie i jego metody opakowujące bez predykatu zapytania. Dzieje się tak, ponieważ po uruchomieniu bez predykatu zapytania zwraca wyniki oparte na metadanych kolekcji, co może skutkować przybliżoną liczbą.

Policz wynik zapytania

Możesz policzyć wynik zapytania, korzystając z poniższego formularza.

Przykład:

db.runCommand( { 
    count: "pets", 
    query: { type: "Dog" } 
} )

Wynik:

{ "n" : 4, "ok" : 1 }

W tym przykładzie widzimy, ż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.runCommand( { count:'pets',
    query: { weight: { $gt: 10 } }
} )

Wynik:

{ "n" : 3, "ok" : 1 }

Ogranicz liczbę

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

Przykład:

db.runCommand( { 
    count: "pets", 
    query: { type: "Dog" },
    limit: 3
} )

Wynik:

{ "n" : 3, "ok" : 1 }

Widzieliśmy wcześniej, że w rzeczywistości są 4 psy, ale w tym przykładzie ograniczyliśmy liczbę do maksymalnie 3.

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

Przykład:

db.runCommand( { 
    count: "pets", 
    query: { type: "Dog" },
    limit: 10
} )

Wynik:

{ "n" : 4, "ok" : 1 }

Pomijanie dokumentów

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

Przykład:

db.runCommand( { 
    count: "pets", 
    query: { type: "Dog" },
    skip: 2
} )

Wynik:

{ "n" : 2, "ok" : 1 }

Wycofanie

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

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

Więcej informacji

count polecenie zawiera inne pola, takie jak hint , comment , 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. Python i MongoDB:łączenie się z bazami danych NoSQL

  2. node.js &express - globalne moduły i najlepsze praktyki dotyczące struktury aplikacji

  3. Golang może dostać puste obiekty

  4. Jak stronicować z Mongoose w Node.js?

  5. wypychanie obiektu do schematu tablicy w Mongoose