Wygeneruj ObjectId wcześnie, użyj go we wstawce i nie będzie potrzeby, aby baza danych zwracała go Tobie. ObjectId nie używa wspólnego numeru sekwencji, aby był unikalny, więc nie ma znaczenia, czy wygenerujesz go przed wstawieniem lub pobierz później.
public ObjectId createThing() {
ObjectId result = new ObjectId();
BasicDBObject thingToInsert = new BasicDbObject();
thingToInsert.put('_id', result);
//set other fields here
collection.insert(thingToInsert);
return result;
}