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

Mutex con MongoDB

La característica clave de MongoDB en esta área es que una actualización de un único El documento es atómico. De los documentos :

Entonces, para su actualización de:

db.collection.update({done: false, taken: false},{$set: {taken: true, takenBy: myIp}});

esto significa que encontrará atómicamente un documento que coincida con los criterios y luego lo actualizará. Así que sí, eso funcionará bien para asignar una tarea a un servidor determinado.

Consulte esta otra publicación para obtener más detalles sobre la implementación de una cola de trabajo compartida en MongoDB. Un punto clave que se menciona allí es el uso de findAndModify para realizar la actualización y devolver el documento actualizado.