Time Series Collection Limitations
On this page
Unsupported Features
The following features are not supported for time series collections.
Constraints
The maximum size of a measurement document is 4 MB.
Aggregation $out and $merge
You can't use aggregation pipeline stages $out
and $merge
to output or merge into to time series collections from another collection.
Updates and Deletes
Starting in MongoDB 5.1, you can perform some delete and update operations.
Delete commands must meet the following requirements:
The query may only match on
metaField
field values.The delete command may not limit the number of documents to be deleted. You must use a delete command with
justOne: false
or thedeleteMany()
method.
Update commands must meet the following requirements:
The query may only match on
metaField
field values.The update command may only modify the
metaField
field value.The update must be performed with an update document that contains only update operator expressions.
The update command may not limit the number of documents to be updated. You must use an update command with
multi: true
or theupdateMany()
method.The update command may not set upsert: true.
In MongoDB 5.0, Time series collections only support insert operations and read queries. Updates and manual delete operations result in an error.
To automatically delete old data, set up automatic removal (TTL).
To remove all documents from a collection, use the
drop()
method to drop the collection.
Secondary Indexes
You can add secondary indexes on the fields
specified as the timeField
and the metaField
. If the field value
for the metaField
field is a document, you can also create secondary
indexes on fields inside that document.
In MongoDB 5.1, the metaField
doesn't support text indexes.
In MongoDB 5.0, the metaField
doesn't support the following index
types:
Secondary indexes don't support the following index properties:
Capped Collections
A time series collection can't be created as a capped collection.
Modification of Collection Type
A collection's type can only be set when creating the collection:
An existing collection can't be converted into a time series collection.
A time series collection can't be converted into a different collection type.
To move data from an existing collection to a time series collection, migrate data into a time series collection.
Modification of timeField
and metaField

You can only set a collection's timeField
and metaField
parameters when creating the collection. After creation these parameters
can't be modified.
Modification of granularity

Once the granularity
is set it can only be increased by one level at
a time. From "seconds"
to "minutes"
or from "minutes"
to
"hours"
. Other changes are not allowed. If you need to change the
granularity
from "seconds"
to "hours"
, first increase the
granularity
to "minutes"
and then to "hours"
.
Sharding
Starting in MongoDB 5.1 (and 5.0.6), sharded time series collections are
supported. When using sharded time series collections, you cannot modify
the granularity
of a sharded time series collection.
In versions earlier than MongoDB 5.0.6, you cannot shard time series collections.
Sharding Administration Commands
Starting in MongoDB 5.2 (and 5.1.2, 5.0.6), you can run sharding
administration commands (such as
moveChunk
) on the system.buckets
collection.
In versions earlier than MongoDB 5.0.6, you cannot run sharding administration commands for sharded time series collections.
Shard Zones
MongoDB does not support creating zones for sharded time series collections.
Shard Keys
When sharding time series collections, you can only specify the following fields in the shard key:
The
metaField
Sub-fields of
metaField
The
timeField
You may specify combinations of these fields in the shard key. No other
fields, including _id
, are allowed in the shard key pattern.
When you specify the shard key:
metaField
can be either a:timeField
must be:At the end of the shard key pattern
Tip
Avoid specifying only the timeField
as the shard key. Since
the timeField
increases monotonically, it may result in all writes appearing on a
single chunk within the cluster. Ideally, data is evenly distributed
across chunks.
To learn how to best choose a shard key, see:
Transactions
You can't write to time series collections in transactions.
Note
Reads from time series collections are supported in transactions.