This document provides a collection of hard and soft limitations of the MongoDB system.
The maximum BSON document size is 16 megabytes.
The maximum document size helps ensure that a single document cannot use excessive amount of RAM or, during transmission, excessive amount of bandwidth. To store documents larger than the maximum size, MongoDB provides the GridFS API. See mongofiles and the documentation for your driver for more information about GridFS.
Each namespace, including database and collection name, must be shorter than 123 bytes.
The limitation on the number of namespaces is the size of the namespace file divided by 628.
A 16 megabyte namespace file can support approximately 24,000 namespaces. Each index also counts as a namespace.
Indexed items can be no larger than 1024 bytes.
A single collection can have no more than 64 indexes.
The names of indexes, including their namespace (i.e database and collection name) cannot be longer than 128 characters. The default index name is the concatenation of the field names and index directions.
You can explicitly specify an index name to the ensureIndex() helper if the default index name is too long.
MongoDB does not support unique indexes across shards, except when the unique index contains the full shard key as a prefix of the index. In these situations MongoDB will enforce uniqueness across the full key, not a single field.
Enforce Unique Keys for Sharded Collections for an alternate approach.
There can be no more than 31 fields in a compound index.
Changed in version 2.4.
If you specify a maximum number of documents for a capped collection using the max parameter to create, the limit must be less than 232 documents. If you do not specify a maximum number of documents when creating a capped collection, there is no limit on the number of documents.
Replica sets can have no more than 12 members.
MongoDB will only return sorted results on fields without an index if the sort operation uses less than 32 megabytes of memory.
Any geometry specified with GeoJSON to $geoIntersects or $geoWithin queries, must fit within a single hemisphere. MongoDB interprets geometries larger than half of the sphere as queries for the smaller of the complementary geometries.
The dot (i.e. .) character is not permissible in database names.
Database names are case sensitive even if the underlying file system is case insensitive.
Changed in version 2.2: For MongoDB instances running on Windows.
In 2.2 the following characters are not permissible in database names:
See Restrictions on Database Names for Windows for more information on this change
New in version 2.2.
Collection names should begin with an underscore or a letter character, and cannot: