Tính năng MongoDB quan trọng trong lĩnh vực này là bản cập nhật cho một single tài liệu là nguyên tử. Từ tài liệu :
Vì vậy, để cập nhật của bạn về:
db.collection.update({done: false, taken: false},{$set: {taken: true, takenBy: myIp}});
điều này có nghĩa là nó sẽ tự động tìm một tài liệu phù hợp với tiêu chí và sau đó cập nhật nó. Vì vậy, có, điều đó sẽ hoạt động tốt khi giao nhiệm vụ cho một máy chủ nhất định.
Xem bài đăng khác này
để biết thêm chi tiết về cách triển khai hàng đợi công việc được chia sẻ trong MongoDB. Một điểm chính được đề cập ở đó là việc sử dụng findAndModify
để thực hiện cả cập nhật và trả lại tài liệu đã cập nhật.