Genereer de ObjectId vroeg, gebruik deze in de insert en het is niet nodig dat de database deze naar u terugstuurt. ObjectId gebruikt geen gedeeld volgnummer om uniek te zijn, dus het maakt niet uit of u er een genereert voordat u deze invoegt of haal het erna op.
public ObjectId createThing() {
ObjectId result = new ObjectId();
BasicDBObject thingToInsert = new BasicDbObject();
thingToInsert.put('_id', result);
//set other fields here
collection.insert(thingToInsert);
return result;
}