MongoDB   发布时间:2022-05-23  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了MongoDB数据库中的ABA问题大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

@H_741_1@mongoDB数据库多用户环境下,许多应用在同时处理数据。
例如:
db.media.updateOne({"TrackList.title":"Been a son"},{$inc:{"TrackList.$.Track":1}})
由于我们此时使用"TrackList.title":"Been a son"作为唯一标识符,假设TrackList.Track的值为0,X用户和Y用户同时通过不同应用希望增量操作,X用户将Track值增量为1,而此时TrackList.title依旧是"Been a son",所以当B用户同时操作时,会认为原来的数据0就是他此时操作的数据,因此将Track值修改为1,但其实我们希望的是,结果值是2,可以想象成投票。
目前想到策略是:
1.将X用户和Y用户的操作放到队列中去,依次执行
2.设置一个版本变量,使得每次更新数据后,都增加它的值@H_951_3@mongoDB提供了一种原子方式修改和返回文档的方法:
db.media.findAndModify({"title":"Been a son",sort:{"title":-1},remove:truE})

大佬总结

以上是大佬教程为你收集整理的MongoDB数据库中的ABA问题全部内容,希望文章能够帮你解决MongoDB数据库中的ABA问题所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: