Generera ObjectId tidigt, använd det i infogningen och databasen behöver inte returnera det till dig. ObjectId använder inte ett delat sekvensnummer för att vara unikt, så det spelar ingen roll om du genererar ett innan du infogar det. eller hämta 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;
}