On this page



The dataSize command returns the data size for a set of data within a certain range:

   dataSize: <string>,
   keyPattern: <document>,
   min: <document>,
   max: <document>,
   estimate: <boolean>

The command takes the following fields:

Field Type Description
dataSize string The name of the target collection.
keyPattern document

Optional. The collection’s key pattern to examine.

The collection must have an index with the corresponding pattern. Otherwise dataSize returns an error message.

min document Optional. The lower bound of the key range to be examined.
max document Optional. The upper bound of the key range to be examined.
estimate boolean

Optional. When true, dataSize estimates the data size by assuming that all documents in the specified range are uniformly sized as per the collection’s average object size. The collection’s average object size is obtained from the avgObjSize field in the output of the collStats command.

Defaults to false.


The following operation runs the dataSize command on the database.collection collection, specifying a key pattern of {field: 1} with the lower bound of the range of keys to be examined being {field: 10} and the upper bound of the key to be examined being {field: 100}.

db.runCommand({ dataSize: "database.collection", keyPattern: { field: 1 }, min: { field: 10 }, max: { field: 100 } })

This will return a document that contains the size of all matching documents. Replace database.collection value with database and collection from your deployment.

The amount of time required to return dataSize depends on the amount of data in the collection.

←   cursorInfo dbHash  →