# 默认的MongoDB读/写关注

**在本页面**

* [阅读关注](#读)
* [写关注](#写)
* [因果一致性保证](#因果)

## 阅读关注

![Read/Write Concern Inheritance](https://docs.mongodb.com/master/_images/read-write-concern-inheritance.bakedsvg.svg)

### 默认读取问题

**默认的** [`read concern`](https://docs.mongodb.com/master/reference/read-concern/)如下:

| 操作                                                                                                               | 默认读取问题                                                                                                                                                                                                                                                                                                                                                                   |
| ---------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 针对主要的读取                                                                                                          | \[`"local"`]\([https://docs.mongodb.com/master/reference/read-concern-local/#readconcern."local](https://docs.mongodb.com/master/reference/read-concern-local/#readconcern.%22local)") 注意，这个读取的关注点可以返回可能被回滚的数据。此读取关注点**不**保证[因果一致性](https://docs.mongodb.com/master/core/read-isol-consist-recency/%20#sessions)。                                                        |
| 如果读操作与[因果一致的会话](https://docs.mongodb.com/master/core/read-isol-consistic-recency/#sessions)相关联，则读取二级会话。          | \[`"local"`]\([https://docs.mongodb.com/master/reference/read-concern-local/#readconcern."local](https://docs.mongodb.com/master/reference/read-concern-local/#readconcern.%22local)") 注意 这个读关注可以返回可能回滚的数据。 此读取关注点**不**保证[因果一致性](https://docs.mongodb.com/master/core/read-isol-consist-recency/%20#sessions)。                                                           |
| 如果读操作与[因果一致的会话](https://docs.mongodb.com/master/core/read-isol-consistency%20-recency/#sessions)没有关联，则对辅助会话进行读取。 | \[`"available"`]\([https://docs.mongodb.com/master/reference/read-concern-available/#readconcern."available](https://docs.mongodb.com/master/reference/read-concern-available/#readconcern.%22available)") 注意 这个读关注可以返回可能回滚的数据 这种已读关注点**不能**保证[因果关系的一致性](https://docs.mongodb.com/master/core/read-isolation-consistency-recency/#sessions)。 对于分片集合，这个读关注也可以返回**孤立的文档**。 |

### 指定读取关注:MongoDB驱动程序

* **外部事务操作**

> 注意
>
> 以下内容适用于在事务外部发出的操作。
>
> 要阅读与事务内部发出的操作相关的关注信息，请单击事务中的操作选项卡。

使用[MongoDB 驱动](https://docs.mongodb.com/drivers/)，您可以覆盖默认的[read concern](https://docs.mongodb.com/master/reference/read-concern/)，并设置以下级别的操作的read concern:

| 水平    | 描述                                                                                                                           |
| ----- | ---------------------------------------------------------------------------------------------------------------------------- |
| 客户级别  | 应用于操作，除非在数据库/集合/操作级别设置了更细致的读取关注。否则将应用于操作。                                                                                    |
| 数据库级别 | 应用于数据库集合上的操作(即覆盖客户端读关注)，除非已在集合级别或操作级别设置了读关注。 注意： 不适用于事务内部的操作。                                                                |
| 集合级别  | 应用对集合的读操作(即覆盖数据库/客户端读关注)，除非已在操作级别设置了读关注。 注意： 不适用于事务内部的操作。                                                                    |
| 操作级别  | 应用特定的读操作(例如，覆盖数据库/客户端/集合读关注)。在操作中设置read concern的能力取决于驱动程序。请参考您的[驱动程序文档](https://docs.mongodb.com/drivers/)。 注意： 不适用于事务内部的操作。 |

* **事务中的操作**

> 注意
>
> 以下内容适用于在事务内部发出的操作。
>
> 要阅读与发出外部事务的操作相关的关注信息，请单击“外部事务的操作”选项卡。

使用[MongoDB 驱动](https://docs.mongodb.com/drivers/)，您可以覆盖默认的[read concern](https://docs.mongodb.com/master/reference/read-concern/)，并设置以下级别的操作的read concern:

| 水平   | 描述                                                                                                                                                                                                       |
| ---- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 客户级别 | 应用于事务，除非在会话/事务级别设置了更细致的读取关注。 注意 事务中的所有操作都使用事务读关注;即,在事务内部忽略在操作/集合/数据库级别设置的任何读关注。                                                                                                                          |
| 会话级别 | 应用于在会话中启动的事务(即覆盖客户端读取关注)，除非在特定事务级别上设置了更细致的读取关注级别。 注意 事务中的所有操作都使用事务读关注;即,在事务内部忽略在操作/集合/数据库级别设置的任何读关注。 有关更多信息，请参阅[事务的阅和读关注](https://docs.mongodb.com/master/core/transactions/#transactions-read-concern)。 |
| 事务级别 | 应用于特定的事务。 事务写关注应用于提交操作和事务内部的操作。 注意 事务中的所有操作都使用事务读关注;即,在事务内部忽略在操作/集合/数据库级别设置的任何读关注。                                                                                                                       |

### 额外的信息

有关可用的读取关注点的更多信息，请参见[read Concern](https://docs.mongodb.com/master/reference/read-concern/)。

## 写关注

![Read/Write Concern Inheritance](https://docs.mongodb.com/master/_images/read-write-concern-inheritance.bakedsvg.svg)

### 默认写问题

**默认的** [write concern](https://docs.mongodb.com/master/reference/writconcern/)是 **w: 1** 。

> 请注意
>
> * 使用默认的写关注，数据可以回滚。
> * 此写关注点**不**保证[因果一致性](https://docs.mongodb.com/master/core/read-isol-consist-recency/%20#sessions)。

### 指定写关注:MongoDB驱动程序

* **外部事务操作**

> 注意
>
> 以下内容适用于在[transactions](https://docs.mongodb.com/master/core/transactions/)外部发出的操作。
>
> 要阅读与事务内部发布的操作相关的关注信息，请单击“事务中的操作”选项卡。

使用[MongoDB drivers](https://docs.mongodb.com/drivers/)，您可以覆盖默认的[write concern](https://docs.mongodb.com/master/reference/writconcern/)，并在以下级别设置操作的write concern:

| Level | Description                                                                                      |
| ----- | ------------------------------------------------------------------------------------------------ |
| 客户级别  | 除非在操作/数据库/集合中为操作设置了更细的写关注点，否则将应用于操作。                                                             |
| 数据库级别 | 应用于数据库集合上的写操作(即覆盖客户端写关注点)，除非在集合级别或操作级别上设置了写关注点 注意 不适用于事务内部的操作。                                   |
| 集合级别  | 应用于集合上的写操作(即覆盖数据库和客户端写关注点)，除非在操作级别上设置了写关注点。 注意 不适用于事务内部的操作。                                      |
| 操作级别  | 应用于特定的写操作。在操作中设置写关注点的能力取决于驱动程序。请参考您的[驱动程序文档](https://docs.mongodb.com/drivers/)。 注意 不适用于事务内部的操作。 |

* **事务中的操作**

> 注意
>
> 以下内容适用于在事务内部发出的操作。
>
> 要阅读与发出外部事务的操作相关的关注信息，请单击“外部事务的操作”选项卡。

| 水平   | 描述                                                                                                                                                                                                                              |
| ---- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 客户级别 | 应用于事务，除非在会话/事务级别设置了更细致的读取关注。 事务写关注点适用于提交操作和事务内部的操作。 注意 事务中的所有操作都使用事务读关注;即,在事务内部忽略在操作/集合/数据库级别设置的任何读关注。                                                                                                                          |
| 会话级别 | 应用于在会话中启动的事务(即覆盖客户端读取关注)，除非在特定事务级别上设置了更细致的读取关注级别。 事务写关注点适用于提交操作和事务内部的操作。 注意 事务中的所有操作都使用事务读关注;即,在事务内部忽略在操作/集合/数据库级别设置的任何读关注。 有关更多信息，请参阅[事务的阅和读关注](https://docs.mongodb.com/master/core/transactions/#transactions-read-concern)。 |
| 事务级别 | 应用于特定的事务。 事务写关注应用于提交操作和事务内部的操作。 注意 事务中的所有操作都使用事务读关注;即,在事务内部忽略在操作/集合/数据库级别设置的任何读关注。                                                                                                                                              |

使用MongoDB驱动程序，你可以覆盖默认的写关注和设置写关注为以下级别的事务:

### 额外的信息

有关可用的写关注点的更多信息，请参见[写关注点](https://docs.mongodb.com/master/reference/writconcern/)。

## 因果一致性的保证

使用[因果一致的客户端会话](https://docs.mongodb.com/master/core/read-isol-consist-recency/%20#sessions)，客户端会话仅在以下情况下保证因果一致:

* 相关的读取操作使用\[ "majority" ]\([https://docs.mongodb.com/master/reference/read-concern-majority/#readconcern."majority")读取concern，](https://docs.mongodb.com/master/reference/read-concern-majority/#readconcern.%22majority%22%29%E8%AF%BB%E5%8F%96concern%EF%BC%8C)
* 相关的写操作使用\[ "majority" ]\(<https://docs.mongodb.com/master/reference/writeconcern> /#writeconcern."majority")写关注。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mongoing.com/can-kao/default-mongodb-read-concerns-and-write-concerns.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
