默认的MongoDB读/写关注
在本页面
阅读关注
默认读取问题
默认的 read concern
如下:
针对主要的读取
["local"
](https://docs.mongodb.com/master/reference/read-concern-local/#readconcern."local") 注意,这个读取的关注点可以返回可能被回滚的数据。此读取关注点不保证因果一致性。
如果读操作与因果一致的会话相关联,则读取二级会话。
["local"
](https://docs.mongodb.com/master/reference/read-concern-local/#readconcern."local") 注意 这个读关注可以返回可能回滚的数据。 此读取关注点不保证因果一致性。
如果读操作与因果一致的会话没有关联,则对辅助会话进行读取。
["available"
](https://docs.mongodb.com/master/reference/read-concern-available/#readconcern."available") 注意 这个读关注可以返回可能回滚的数据 这种已读关注点不能保证因果关系的一致性。 对于分片集合,这个读关注也可以返回孤立的文档。
指定读取关注:MongoDB驱动程序
外部事务操作
注意
以下内容适用于在事务外部发出的操作。
要阅读与事务内部发出的操作相关的关注信息,请单击事务中的操作选项卡。
使用MongoDB 驱动,您可以覆盖默认的read concern,并设置以下级别的操作的read concern:
客户级别
应用于操作,除非在数据库/集合/操作级别设置了更细致的读取关注。否则将应用于操作。
数据库级别
应用于数据库集合上的操作(即覆盖客户端读关注),除非已在集合级别或操作级别设置了读关注。 注意: 不适用于事务内部的操作。
集合级别
应用对集合的读操作(即覆盖数据库/客户端读关注),除非已在操作级别设置了读关注。 注意: 不适用于事务内部的操作。
操作级别
应用特定的读操作(例如,覆盖数据库/客户端/集合读关注)。在操作中设置read concern的能力取决于驱动程序。请参考您的驱动程序文档。 注意: 不适用于事务内部的操作。
事务中的操作
注意
以下内容适用于在事务内部发出的操作。
要阅读与发出外部事务的操作相关的关注信息,请单击“外部事务的操作”选项卡。
使用MongoDB 驱动,您可以覆盖默认的read concern,并设置以下级别的操作的read concern:
客户级别
应用于事务,除非在会话/事务级别设置了更细致的读取关注。 注意 事务中的所有操作都使用事务读关注;即,在事务内部忽略在操作/集合/数据库级别设置的任何读关注。
会话级别
应用于在会话中启动的事务(即覆盖客户端读取关注),除非在特定事务级别上设置了更细致的读取关注级别。 注意 事务中的所有操作都使用事务读关注;即,在事务内部忽略在操作/集合/数据库级别设置的任何读关注。 有关更多信息,请参阅事务的阅和读关注。
事务级别
应用于特定的事务。 事务写关注应用于提交操作和事务内部的操作。 注意 事务中的所有操作都使用事务读关注;即,在事务内部忽略在操作/集合/数据库级别设置的任何读关注。
额外的信息
有关可用的读取关注点的更多信息,请参见read Concern。
写关注
默认写问题
默认的 write concern是 w: 1 。
请注意
使用默认的写关注,数据可以回滚。
此写关注点不保证因果一致性。
指定写关注:MongoDB驱动程序
外部事务操作
注意
以下内容适用于在transactions外部发出的操作。
要阅读与事务内部发布的操作相关的关注信息,请单击“事务中的操作”选项卡。
使用MongoDB drivers,您可以覆盖默认的write concern,并在以下级别设置操作的write concern:
客户级别
除非在操作/数据库/集合中为操作设置了更细的写关注点,否则将应用于操作。
数据库级别
应用于数据库集合上的写操作(即覆盖客户端写关注点),除非在集合级别或操作级别上设置了写关注点 注意 不适用于事务内部的操作。
集合级别
应用于集合上的写操作(即覆盖数据库和客户端写关注点),除非在操作级别上设置了写关注点。 注意 不适用于事务内部的操作。
操作级别
应用于特定的写操作。在操作中设置写关注点的能力取决于驱动程序。请参考您的驱动程序文档。 注意 不适用于事务内部的操作。
事务中的操作
注意
以下内容适用于在事务内部发出的操作。
要阅读与发出外部事务的操作相关的关注信息,请单击“外部事务的操作”选项卡。
客户级别
应用于事务,除非在会话/事务级别设置了更细致的读取关注。 事务写关注点适用于提交操作和事务内部的操作。 注意 事务中的所有操作都使用事务读关注;即,在事务内部忽略在操作/集合/数据库级别设置的任何读关注。
会话级别
应用于在会话中启动的事务(即覆盖客户端读取关注),除非在特定事务级别上设置了更细致的读取关注级别。 事务写关注点适用于提交操作和事务内部的操作。 注意 事务中的所有操作都使用事务读关注;即,在事务内部忽略在操作/集合/数据库级别设置的任何读关注。 有关更多信息,请参阅事务的阅和读关注。
事务级别
应用于特定的事务。 事务写关注应用于提交操作和事务内部的操作。 注意 事务中的所有操作都使用事务读关注;即,在事务内部忽略在操作/集合/数据库级别设置的任何读关注。
使用MongoDB驱动程序,你可以覆盖默认的写关注和设置写关注为以下级别的事务:
额外的信息
有关可用的写关注点的更多信息,请参见写关注点。
因果一致性的保证
使用因果一致的客户端会话,客户端会话仅在以下情况下保证因果一致:
相关的写操作使用[ "majority" ](https://docs.mongodb.com/master/reference/writeconcern /#writeconcern."majority")写关注。
最后更新于