Генерирайте ObjectId рано, използвайте го във вмъкването и няма да е необходимо базата данни да ви го връща. ObjectId не използва споделен пореден номер, за да бъде уникален, така че няма значение дали генерирате такъв, преди да вмъкнете или го извлечете след това.
public ObjectId createThing() {
ObjectId result = new ObjectId();
BasicDBObject thingToInsert = new BasicDbObject();
thingToInsert.put('_id', result);
//set other fields here
collection.insert(thingToInsert);
return result;
}