Generieren Sie die ObjectId frühzeitig, verwenden Sie sie in der Einfügung, und die Datenbank muss sie nicht an Sie zurückgeben. ObjectId verwendet keine gemeinsame Sequenznummer, um eindeutig zu sein, daher spielt es keine Rolle, ob Sie vor dem Einfügen eine generieren oder danach abrufen.
public ObjectId createThing() {
ObjectId result = new ObjectId();
BasicDBObject thingToInsert = new BasicDbObject();
thingToInsert.put('_id', result);
//set other fields here
collection.insert(thingToInsert);
return result;
}