在横向扩展服务器上,多台服务器将争夺多个数据的更新过程。
所以我想防止对同一数据进行多次更新。
=咖啡
CollectionRooms.find(isProcessed: false).forEach (room) ->
if room.isProcessed then return
#update something
CollectionRooms.update _id: room._id,
$set: isProcessed: true
两个具有相同MongoDB的服务器(SERVER1,SERVER2)之间的问题是
我认为我需要使这个问题简单化。
抱歉表达丑陋,谢谢。
答案 0 :(得分:1)
使用乐观锁定。
文档上有一个附加字段(时间戳或版本号),该字段在每次写入文档时都会更新。然后在更新查询中使用此版本。如果自阅读以来版本已更改,则更新将失败。