The doc for mongoc_collection_insert says,
If no _id element is found in document, then a bson_oid_t will be generated locally and added to the document. You can retrieve a generated _id from mongoc_collection_get_last_error().
This is wrong on master and 1.2.0-dev. On both, mongoc_collection_insert upgrades the "gle" bson object to a write command result like:
{ "nInserted" : 1, "nMatched" : 0, "nRemoved" : 0, "nUpserted" : 0, "writeErrors" : [ ] }
The result has no generated _id. And it contradicts the documentation, which calls this a getLastError document.