- Reference >
- Database Commands >
- Aggregation Commands >
- count
count¶
On this page
Definition¶
-
count
¶ Counts the number of documents in a collection. Returns a document that contains this count and as well as the command status.
count
has the following form:Changed in version 2.6:
count
now accepts thehint
option to specify an index.count
has the following fields:Field Type Description count
string The name of the collection to count. query
document Optional. A query that selects which documents to count in a collection. limit
integer Optional. The maximum number of matching documents to return. skip
integer Optional. The number of matching documents to skip before returning results. hint
String or document Optional. The index to use. Specify either the index name as a string or the index specification document.
New in version 2.6.
MongoDB also provides the
count()
anddb.collection.count()
wrapper methods in themongo
shell.
Behavior¶
On a sharded cluster, count
can result in an inaccurate count if
orphaned documents exist or if a
chunk migration is in progress.
To avoid these situations, on a sharded cluster, use the
$group
stage of the db.collection.aggregate()
method to $sum
the documents. For example, the following
operation counts the documents in a collection:
To get a count of documents that match a query condition, include the
$match
stage as well:
See Perform a Count for an example.
Examples¶
The following sections provide examples of the count
command.
Count All Documents¶
The following operation counts the number of all documents in the
orders
collection:
In the result, the n
, which represents the count, is 26
,
and the command status ok
is 1
:
Count Documents That Match a Query¶
The following operation returns a count of the documents in the
orders
collection where the value of the ord_dt
field is
greater than Date('01/01/2012')
:
In the result, the n
, which represents the count, is 13
and the command status ok
is 1
:
Skip Documents in Count¶
The following operation returns a count of the documents in the
orders
collection where the value of the ord_dt
field is
greater than Date('01/01/2012')
and skip the first 10
matching
documents:
In the result, the n
, which represents the count, is 3
and
the command status ok
is 1
:
Specify the Index to Use¶
The following operation uses the index { status: 1 }
to return a
count of the documents in the orders
collection where the value of
the ord_dt
field is greater than Date('01/01/2012')
and the
status
field is equal to "D"
:
In the result, the n
, which represents the count, is 1
and
the command status ok
is 1
: