首页 > 代码库 > Mongdb 脏读

Mongdb 脏读

 

读隔离(New in version 3.2.):

readConcern: { level: <"majority"|"local"|"linearizable"> }

readConcern选项可用于以下操作:

  • find command
  • aggregate command and the db.collection.aggregate() method
  • distinct command
  • count command
  • parallelCollectionScan command
  • geoNear command
  • geoSearch command

用于副本集和副本集分片的readConcern查询选项确定从查询返回哪些数据。

readConcern级别:

"local"默认。 该查询返回实例的最新数据。 不保证数据已写入大多数副本集成员(即可以回滚)。

"majority":该查询会将实例的最新数据确认为已写入副本集中的大多数成员。要使用majority级别,您必须使用--enableMajorityReadConcern命令行选项启动mongod实例(如果使用配置文件,则将replication.enableMajorityReadConcern设置为true)。

"linearizable"add in version3.4):该查询返回反映所有成功写入的数据。

 

这么说 如果配置了linearizable 那么针对一个集合的查询就可以避免脏读了。因为Mongdb没有事务,所以也就不存在幻读和不可重复读的定义了。不过这个功能是在当前最新的3.4版本才有的。

Mongdb 脏读