首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

Mongodb怎么保持数据正确更新

2012-08-14 
Mongodb如何保持数据正确更新Mongodb如何保持数据正确更新所谓数据正确更新,就是在并发请求很多的情况下,

Mongodb如何保持数据正确更新
Mongodb如何保持数据正确更新

所谓数据正确更新,就是在并发请求很多的情况下,不会出现被多次更新的情况。比如偷菜,一个人只能偷一次,不能因为同时多点了记下就偷了多次。

这类问题的通常解决办法就是Update if not change!

也就是在更新的时候,判断一下当前数据有没有被其他操作改变,如果没有改变,我才改变它,从而保证不会乱改变。。。实际操作时,把原值也传过去,即可。。。

Mongodb中通过把原值作为查询参数传递过去进行更新,如果原值已经被改变了,则这次更新操作失败,返回的结果记录应该为0,同时提示“updatedExisting”,如果成功了当然是大于0,我们只要判断返回的是不是为0就可以了,为0表示更新失败,告诉用户出错,不为0,继续操作。。。

//开始请求
db.requestStart();

//结束请求,结束前就应该获取lastError以验证是否成功更新
db.requestDone();

//返回最近的一个错误
db.getLastError();

示例代码:

super.requestStart();super.updateFields(....;DBObject err = super.getLastError(); if(Boolean.valueOf(""+err.get("updatedExisting")) == false){super.requestDone();throw new RuntimeException("update error");}super.requestDone();

















热点排行