sql >> Base de Datos >  >> NoSQL >> MongoDB

Concurrencia:obtener la ID generada por MongoDB de un objeto insertado a través de Java de una manera segura para subprocesos

Genere el ObjectId antes, úselo en la inserción y no será necesario que la base de datos se lo devuelva. ObjectId no usa un número de secuencia compartido para ser único, por lo que no importa si genera uno antes de insertarlo. o recuperarlo después.

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