MongoDB upsert操作并发的原子性

在用C++对MongoDB执行update操作的时候,如果设置了upsert参数为true,则会自动插入不存在的数据。在高并发环境下,会导致数据重复。

解决方法是为查询条件添加unique index, 参考官方文档:

http://docs.mongodb.org/manual/core/write-operations-atomicity/

http://docs.mongodb.org/manual/core/index-unique/#index-type-unique


经过高压测试后,证明这个解决方案是靠谱的。





郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。