Search code examples
mongodbgomongo-go

How to set batchSize in change stream watch api (mongo-go-driver)?


I am passing batchSize using changestreamopt.BatchSize. But this not working this error occurred: BSON field '$changeStream.batchSize' is an unknown field

Sample API call

// coll is  *mongo.Collection
// ctx is context
cur, err := coll.Watch(ctx, nil, changestreamopt.BatchSize(1000))

Solution

  • This looks like a bug in the current mongo-go-driver (v0.0.16) where the batchSize option is passed into the $changestream pipeline stage instead to the cursor.

    The code change_stream.go#L66-L73 seems to only use maxAwaitTime to the cursor.

    I've opened a ticket GODRIVER-591 with the MongoDB Go driver team.