# mongoc_collection_insert_one()¶

## Synopsis¶

bool
mongoc_collection_insert_one (mongoc_collection_t *collection,
const bson_t *document,
const bson_t *opts,
bson_error_t *error);


## Parameters¶

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

## Description¶

This function shall insert document into collection.

To insert an array of documents, see mongoc_collection_insert_many().

If no _id element is found in document, then a bson_oid_t will be generated locally and added to the document. If you must know the inserted document’s _id, generate it in your code and include it in the document. The _id you generate can be a bson_oid_t or any other non-array BSON type.

If you pass a non-NULL reply, it is filled out with an “insertedCount” field. 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().

## Errors¶

Errors are propagated via the error parameter.

## Returns¶

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.