Vygenerujte ObjectId včas, použijte ho v insertu a nebude potřeba, aby vám ho databáze vracela. ObjektId nepoužívá sdílené pořadové číslo, aby bylo jedinečné, takže nezáleží na tom, jestli si je vygenerujete před vložením nebo jej načtěte poté.
public ObjectId createThing() {
ObjectId result = new ObjectId();
BasicDBObject thingToInsert = new BasicDbObject();
thingToInsert.put('_id', result);
//set other fields here
collection.insert(thingToInsert);
return result;
}