-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Storage Execution
-
None
-
3
-
TBD
-
None
-
None
-
None
-
None
-
None
-
None
-
None
By default, timeseries collection creation generates a default index on the meta and time field.
The primary generates separate entries for the index and collection creation.
> db.createCollection( "stocks", { timeseries: { timeField: "date", metaField: "ticker", granularity: "seconds" } }) .... // Oplog entries { op: 'c', ns: 'test.$cmd', ui: UUID('e4dc4a7a-395c-4c7e-8aa5-3875362225d0'), o: { createIndexes: 'system.buckets.stocks', v: 2, name: 'ticker_1_date_1', key: { meta: 1, 'control.min.date': 1, 'control.max.date': 1 } }, ts: Timestamp({ t: 1750971747, i: 3 }), t: Long('1'), v: Long('2'), wall: ISODate('2025-06-26T21:02:27.813Z') }, { op: 'c', ns: 'test.$cmd', ui: UUID('e4dc4a7a-395c-4c7e-8aa5-3875362225d0'), o: { create: 'system.buckets.stocks', validator: { '$jsonSchema': { bsonType: 'object', required: [ '_id', 'control', 'data' ], properties: { _id: { bsonType: 'objectId' }, control: { bsonType: 'object', required: [ 'version', 'min', 'max' ], properties: { version: { bsonType: 'number' }, min: { bsonType: 'object', required: [ 'date' ], properties: { date: { bsonType: 'date' } } }, max: { bsonType: 'object', required: [ 'date' ], properties: { date: { bsonType: 'date' } } }, closed: { bsonType: 'bool' }, count: { bsonType: 'number', minimum: 1 } }, additionalProperties: false }, data: { bsonType: 'object' }, meta: {} }, additionalProperties: false } }, clusteredIndex: true, timeseries: { timeField: 'date', metaField: 'ticker', granularity: 'seconds', bucketMaxSpanSeconds: 3600 } }, ts: Timestamp({ t: 1750971747, i: 2 }), t: Long('1'), v: Long('2'), wall: ISODate('2025-06-26T21:02:27.813Z') },
However, we should define expected behavior with respect to timeseries creation via applyOps and replicated catalog identifiers.