mongoc_collection_update_many (mongoc_collection_t *collection,
                               const bson_t *selector,
                               const bson_t *update,
                               const bson_t *opts,
                               bson_t *reply,
                               bson_error_t *error);


  • collection: A mongoc_collection_t.
  • selector: A bson_t containing the query to match documents for updating.
  • update: A bson_t containing the update to perform. If updating with a pipeline, a bson_t array.
  • reply: Optional. An uninitialized bson_t populated with the update result, or NULL.
  • error: An optional location for a bson_error_t or NULL.

opts may be NULL or a BSON document with additional command options:


This function updates all documents in collection that match selector.

To update at most one document see mongoc_collection_update_one().

If you pass a non-NULL reply, it is filled out with fields matchedCount, modifiedCount, and optionally upsertedId if applicable. If there is a server error then reply contains either a “writeErrors” array with one subdocument or a “writeConcernErrors” array. The reply must be freed with bson_destroy().

See Also

MongoDB update command documentation for more information on the update options.



Errors are propagated via the error parameter.


Returns true if successful. Returns false and sets error if there are invalid arguments or a server or network error.

A write concern timeout or write concern error is considered a failure.