Generer ObjectId'et tidligt, brug det i indsættelsen, og det er ikke nødvendigt at lade databasen returnere det til dig.ObjectId bruger ikke et delt sekvensnummer for at være unikt, så det gør ikke noget, om du genererer et før indsættelsen. eller hent den efter.
public ObjectId createThing() {
ObjectId result = new ObjectId();
BasicDBObject thingToInsert = new BasicDbObject();
thingToInsert.put('_id', result);
//set other fields here
collection.insert(thingToInsert);
return result;
}