De belangrijkste MongoDB-functie op dit gebied is dat een update naar een enkele document is atomair. Van de documenten :
Dus voor je update van:
db.collection.update({done: false, taken: false},{$set: {taken: true, takenBy: myIp}});
dit betekent dat het atomair een document zal vinden dat aan de criteria voldoet en het vervolgens zal bijwerken. Dus ja, dat werkt goed om een taak toe te wijzen aan een bepaalde server.
Zie dit andere bericht
voor meer details over het implementeren van een gedeelde werkwachtrij in MongoDB. Een belangrijk punt dat daar wordt genoemd, is het gebruik van findAndModify
om zowel de update uit te voeren en stuur het bijgewerkte document terug.