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

Mutex con MongoDB

La caratteristica chiave di MongoDB in quest'area è l'aggiornamento a un single il documento è atomico. Da i documenti :

Quindi per il tuo aggiornamento di:

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

ciò significa che troverà atomicamente un documento che corrisponde ai criteri e quindi lo aggiornerà. Quindi sì, funzionerà bene per assegnare un'attività a un determinato server.

Vedi questo altro post per maggiori dettagli sull'implementazione di una coda di lavoro condivisa in MongoDB. Un punto chiave menzionato è l'uso di findAndModify per eseguire l'aggiornamento e restituire il documento aggiornato.