MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Simultaneidade - Obtendo o ID gerado pelo MongoDB de um objeto inserido via Java de maneira segura para thread


Gere o ObjectId antecipadamente, use-o na inserção e não será necessário que o banco de dados o retorne para você. O ObjectId não usa um número de sequência compartilhado para ser exclusivo, portanto, não importa se você gerar um antes de inserir ou recuperá-lo depois.
public ObjectId createThing() {
    ObjectId result = new ObjectId();
    BasicDBObject thingToInsert = new BasicDbObject();
    thingToInsert.put('_id', result);
    //set other fields here
    collection.insert(thingToInsert);
    return result;
}