MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Concorrenza - Ottenere l'ID generato da MongoDB di un oggetto inserito tramite Java in modo thread-safe

Genera l'ObjectId in anticipo, usalo nell'inserto e non sarà necessario che il database te lo restituisca. ObjectId non usa un numero di sequenza condiviso per essere univoco, quindi non importa se ne generi uno prima di inserirlo o recuperalo dopo.

public ObjectId createThing() {
    ObjectId result = new ObjectId();
    BasicDBObject thingToInsert = new BasicDbObject();
    thingToInsert.put('_id', result);
    //set other fields here
    collection.insert(thingToInsert);
    return result;
}