MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

MongoDB db.collection.count()

В MongoDB db.collection.count() методът връща броя на документите, които биха съвпадали с find() заявка за колекцията или изгледа.

collection част е името на колекцията или изгледа за извършване на операцията за броене.

Имайте предвид, че всъщност не изпълнява find() операция. Той просто отчита и връща броя на резултатите, които съответстват на заявка.

Пример

Да предположим, че имаме колекция, наречена pets със следните документи:

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

Можем да използваме следната заявка, за да върнем броя на документите в колекцията:

db.pets.count()

Резултат:

7

Това е еквивалентно на извършване на следното:

db.pets.find().count()

Резултат:

7

Документацията на MongoDB всъщност съветва да не използвате db.collection.count() без предикат на заявка. Това е така, защото методът връща резултати въз основа на метаданните на колекцията, което може да доведе до приблизителен брой.

Пребройте резултата от заявка

Можете да преброите резултата от заявка, като подадете критериите за заявка.

Пример:

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

Резултат:

4

В този пример разбрахме, че в колекцията има четири кучета.

Нека проверим броя на друга заявка. Този път ще разберем колко домашни любимци имат тегло, по-голямо от определено количество.

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

Резултат:

3

Ограничете броя

Можете да използвате limit параметър, за да посочите максимален брой документи за броене.

Пример:

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

Резултат:

5

Видяхме преди това, че всъщност има 7 документа в тази колекция, но в този пример го ограничихме до отчитане на максимум 5.

Ако лимитът е по-висок от действителния брой, резултатът няма да бъде повлиян от limit аргумент.

Пример:

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

Резултат:

7

Пропускане на документи

Можете да броите, като използвате skip параметър за пропускане на определен брой документи преди броене.

Пример:

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

Резултат:

2

Оттегляне

Имайте предвид, че документацията на MongoDB посочва следното:

Драйверите на MongoDB, съвместими с функциите 4.0, отменят съответния курсор и колекция count() API в полза на нови API за countDocuments() и estimatedDocumentCount() . За конкретните имена на API за даден драйвер вижте документацията на драйвера.

Повече информация

db.collection.count() method е обвивка за count команда.

db.collection.count() методът приема други параметри, като hint , maxTimeMS , readConcern и collation .

Вижте документацията на MongoDB за повече информация.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да възстановите конкретна колекция в MongoDB с помощта на логическо архивиране

  2. добавяне на полета created_at и updated_at към схемите на mongoose

  3. Актуализиране на речника в Mongodb

  4. Изберете документи, където всички стойности в полето на масива съществуват в друг масив

  5. MongoDB не е оторизиран за заявка - код 13