Docs HomeMongoDB Manual

shardCollection Event

On this page

Summary

shardCollection

New in version 6.0.

A shardCollection event occurs when a collection is sharded.

Description

FieldTypeDescription
_idDocumentA BSON object which serves as an identifier for the change stream event. This value is used as the resumeToken for the resumeAfter parameter when resuming a change stream. The _id object has the following form:
{
   "_data" : <BinData|hex string>
}

The _data type depends on the MongoDB versions and, in some cases, the feature compatibility version (fCV) at the time of the change stream's opening or resumption. See Resume Tokens for the full list of _data types.

For an example of resuming a change stream by resumeToken, see Resume a Change Stream.

clusterTimeTimestampThe timestamp from the oplog entry associated with the event.
Change stream event notifications associated with a multi-document transaction all have the same clusterTime value: the time when the transaction was committed.
On sharded clusters, events with the same clusterTime may not all relate to the same transaction. Some events don't relate to a transaction at all.
To identify events for a single transaction, you can use the combination of lsid and txnNumber in the change stream event document.
New in version 4.0.
collectionUUIDUUIDUUID identifying the collection where the change occurred.
New in version 6.0.
lsiddocumentThe identifier for the session associated with the transaction.
Only present if the operation is part of a multi-document transaction.
New in version 4.0.
nsdocumentThe namespace (database and or collection) affected by the event.
ns.collstringThe name of the collection where the event occurred.
ns.dbstringThe name of the database where the event occurred.
operationDescriptiondocumentAdditional information on the change operation.
This document and its subfields only appears when the change stream uses expanded events.
New in version 6.0.
operationDescription.
numInitialChunks
longNumber of chunks created on each shard during a shardCollection operation.
New in version 6.0.
operationDescription.
presplitHashedZones
booleanIndicates whether the shard chunks were pre-split according to zones when the collection becamed sharded.
New in version 6.0.
operationDescription.
shardKey
documentThe shard key for the collection where the change occurred.
New in version 6.0.
operationDescription.
unique
booleanThis has a value of true if the collection was sharded with a unique shard key.
New in version 6.0.
operationTypestringThe type of operation that the change notification reports.
Returns a value of shardCollection for these change events.
txnNumberNumberLongTogether with the lsid, a number that helps uniquely identify a transction.
Only present if the operation is part of a multi-document transaction.
New in version 4.0.
wallTimeISODateThe server date and time of the database operation. wallTime differs from clusterTime in that clusterTime is a timestamp taken from the oplog entry associated with the database operation event.
New in version 6.0.

Example

The following example shows a shardCollection event:

{
   "_id": { <ResumeToken> },
   "operationType": "shardCollection",
   "clusterTime": Timestamp({ t: 1654894852, i: 52 }),
   "collectionUUID": UUID("98046a1a-b649-4e5b-9c75-67594221ce19"),
   "wallTime": ISODate("2022-06-10T21:00:52.854Z"),
   "ns": {
      "db": "test",
      "coll": "authors"
   },
   "operationDescription": {
      "shardKey": { "age": "hashed" },
      "unique": false,
      "numInitialChunks": Long("0"),
      "presplitHashedZones": false
   }
}