Cloud Firestore Enterprise edition with MongoDB compatibility is now available!
Learn more.
Quotas and Limits
Stay organized with collections
Save and categorize content based on your preferences.
Relevant to Cloud Firestore Enterprise edition only.
|
This page describes the request quotas and limits for Cloud Firestore with MongoDB compatibility.
Free tier usage
Cloud Firestore with MongoDB compatibility offers a free tier that lets you get started with
Cloud Firestore with MongoDB compatibility at no cost. The free tier amounts are listed in the following
table.
Free tier amounts are applied daily and reset at midnight Pacific time.
The free tier applies to only one Cloud Firestore with MongoDB compatibility database per project.
The first database that is created in a project without a free tier database
will get the free tier. If the database with the free tier applied is deleted,
the next database created will receive the free tier.
Free tier |
Quota |
Stored data |
1 GiB |
Read units |
50,000 per day |
Write units |
40,000 per day |
Outbound data transfer |
10 GiB per month |
The following operations and features don't include free usage.
You must enable billing to use these features:
- Managed deletes (TTL)
- Backup data
- Restore operations
For more information about how these features are billed, see
Storage pricing.
Standard limits
The following tables show the limits that apply to
Cloud Firestore with MongoDB compatibility. These are hard limits unless otherwise noted.
Databases
Collections, documents, and fields
Limit |
Details |
Constraints on collection names |
- Must be valid UTF-8 characters
- Must be no longer than 1,500 bytes
- Can't match the regular expression
__.*__
- Can't contain
$
- Can't be the empty string (
"" )
- Can't contain the null character
- Can't begin with `system.` and can't contain `.system.`.
|
Constraints on document IDs (_id ) |
- Document
_id (top-level field) must be an
ObjectId, String, or 64-bit integer. Other BSON types are not supported.
- Must be no longer than 1,500 bytes
For String IDs:
- Must be valid UTF-8 characters
- Can't be the empty string (
"" )
- Can't match the regular expression
__.*__
- For 64-bit integer IDs, 64-bit 0 (0L) is not supported.
|
Maximum size for a document |
4 MiB |
Constraints on field names |
- Must be valid UTF-8 characters
- Can't be the empty string (
"" )
- Can't match the regular expression
__.*__
|
Maximum size of a field name |
1,500 bytes |
Maximum size of a field path |
1,500 bytes |
Maximum size of a field value |
4 MiB - 89 bytes |
Maximum depth of fields in a map or array |
20
Map and array fields add one level to the overall depth of an object. For example, the following object has a total depth of three levels:
{
nested_object: { #depth 1
nested_array: [ #depth 2
{
foo: "bar" #depth 3
}
]
}
}
|
Reads, writes, and transactions
Limit |
Details |
Memory limit for a query |
128 MiB |
Time limit for a transaction |
270 seconds, with a 60-second idle expiration time |
Indexes
Limit |
Details |
Maximum number of indexes for a database |
1000
Contact support
to request an increase to this limit.
|
Maximum number of index entries for each document
|
40,000
|
Maximum number of fields in an index |
100 |
Maximum size of an index entry |
7.5 KiB
|
Maximum sum of the sizes of a document's index entries |
8 MiB
|
Time to live (TTL)
Limit |
Details |
Maximum number of TTL configurations for a database |
500
|
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-25 UTC.
[null,null,["Last updated 2025-08-25 UTC."],[],[],null,["\u003cbr /\u003e\n\n\n|--------------------------------------------------------|\n| *Relevant to Cloud Firestore Enterprise edition only.* |\n\n\u003cbr /\u003e\n\nThis page describes the request quotas and limits for Cloud Firestore with MongoDB compatibility.\n\nFree tier usage\n\nCloud Firestore with MongoDB compatibility offers a free tier that lets you get started with\nCloud Firestore with MongoDB compatibility at no cost. The free tier amounts are listed in the following\ntable.\n\nFree tier amounts are applied daily and reset at midnight Pacific time.\n\nThe free tier applies to only one Cloud Firestore with MongoDB compatibility database per project.\nThe first database that is created in a project without a free tier database\nwill get the free tier. If the database with the free tier applied is deleted,\nthe next database created will receive the free tier.\n\n\u003cbr /\u003e\n\n| Free tier | Quota |\n|------------------------|------------------|\n| Stored data | 1 GiB |\n| Read units | 50,000 per day |\n| Write units | 40,000 per day |\n| Outbound data transfer | 10 GiB per month |\n\n\u003cbr /\u003e\n\nThe following operations and features don't include free usage.\nYou must [enable billing](https://cloud.google.com/billing/docs/how-to/modify-project) to use these features:\n\n- Managed deletes (TTL)\n- Backup data\n- Restore operations\n\nFor more information about how these features are billed, see\n[Storage pricing](https://cloud.google.com/firestore/enterprise/pricing#storage-size#storage-size).\n\nStandard limits\n\nThe following tables show the limits that apply to\nCloud Firestore with MongoDB compatibility. These are hard limits unless otherwise noted.\n\nDatabases\n\n| Limit | Details |\n|--------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Maximum number of databases per project | 100 [Contact support](https://cloud.google.com/support-hub) to request an increase to this limit. |\n| Maximum number of [customer-managed encryption keys (CMEK) databases](/docs/firestore/enterprise/cmek) per project | 0 By default the quota is 0 because this feature is behind an allowlist. You can request to increase the quota by filling in [the CMEK access request form](https://docs.google.com/forms/d/e/1FAIpQLSfKs8wJf4IXu1NizvfyU2vT59JDbdPvkehMVZ2ab5l_aDLIIA/viewform?resourcekey=0-O15dlRFvA0JIDmh6VFUEcA). |\n\nCollections, documents, and fields\n\n| Limit | Details |\n|-------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Constraints on collection names | - Must be valid UTF-8 characters - Must be no longer than 1,500 bytes - Can't match the regular expression `__.*__` - Can't contain `$` - Can't be the empty string (`\"\"`) - Can't contain the null character - Can't begin with \\`system.\\` and can't contain \\`.system.\\`. |\n| Constraints on document IDs (`_id`) | - Document `_id` (top-level field) must be an ObjectId, String, or 64-bit integer. Other BSON types are not supported. - Must be no longer than 1,500 bytes - For String IDs: - Must be valid UTF-8 characters - Can't be the empty string (`\"\"`) - Can't match the regular expression `__.*__` - For 64-bit integer IDs, 64-bit 0 (0L) is not supported. |\n| Maximum size for a document | 4 MiB |\n| Constraints on field names | - Must be valid UTF-8 characters - Can't be the empty string (`\"\"`) - Can't match the regular expression `__.*__` |\n| Maximum size of a field name | 1,500 bytes |\n| Maximum size of a field path | 1,500 bytes |\n| Maximum size of a field value | 4 MiB - 89 bytes |\n| Maximum depth of fields in a map or array | 20 Map and array fields add one level to the overall depth of an object. For example, the following object has a total depth of three levels: ``` { nested_object: { #depth 1 nested_array: [ #depth 2 { foo: \"bar\" #depth 3 } ] } } ``` |\n\nReads, writes, and transactions\n\n| Limit | Details |\n|------------------------------|----------------------------------------------------|\n| Memory limit for a query | 128 MiB |\n| Time limit for a transaction | 270 seconds, with a 60-second idle expiration time |\n\nIndexes\n\n| Limit | Details |\n|--------------------------------------------------------|----------------------------------------------------------------------------------------------------|\n| Maximum number of indexes for a database | 1000 [Contact support](https://cloud.google.com/support-hub) to request an increase to this limit. |\n| Maximum number of index entries for each document | 40,000 |\n| Maximum number of fields in an index | 100 |\n| Maximum size of an index entry | 7.5 KiB |\n| Maximum sum of the sizes of a document's index entries | 8 MiB |\n\nTime to live (TTL)\n\n| Limit | Details |\n|-----------------------------------------------------|---------|\n| Maximum number of TTL configurations for a database | 500 |"]]