MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Parallelität – Thread-sicheres Abrufen der von MongoDB generierten ID eines über Java eingefügten Objekts

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;
}