Klíčovou funkcí MongoDB v této oblasti je aktualizace na jedinou dokument je atomový. Z dokumentů :
Takže pro vaši aktualizaci:
db.collection.update({done: false, taken: false},{$set: {taken: true, takenBy: myIp}});
to znamená, že atomicky najde dokument, který odpovídá kritériím, a poté jej aktualizuje. Takže ano, to bude dobře fungovat pro přiřazení úkolu danému serveru.
Viz tento další příspěvek
Další podrobnosti o implementaci sdílené pracovní fronty v MongoDB. Klíčovým bodem, který je zde zmíněn, je použití findAndModify
jak provést aktualizaci a vrátit aktualizovaný dokument.