Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Read concerns/write concerns padrão do MongoDB

Herança de preocupação de leitura/gravação
clique para ampliar

A read concern padrão é a seguinte:

operações
Preocupação de leitura padrão

Lê em relação ao primário

"local"

  • Essa read concern pode retornar dados que podem ser revertidos.

  • Esta read concern não garante consistência causal.

Lê contra secundários.

"local"

  • Essa read concern pode retornar dados que podem ser revertidos.

  • Esta read concern não garante consistência causal.

As informações a seguir se aplicam a operações executadas fora de transações. Para obter informações de preocupação de leitura relacionadas a operações executadas dentro de transações, clique na aba Operations in Transactions.

Usando os drivers do MongoDB, você pode substituir a read concern padrão e definir a read concern para as operações nos seguintes níveis:

Nível
Descrição

Nível do cliente

Aplica-se a operações, a menos que uma read concern mais refinada para uma operation seja definida no nível de banco de dados/collection/operação.

Nível do banco de dados

Aplica-se a operações nas collections do banco de dados (ou seja, substitui a read concern do cliente), a menos que uma read concern tenha sido definida no nível de collection ou operação.

Não se aplica a operações dentro de transações.

Nível de collection

Aplica-se a operações de leitura na collection (ou seja, substitui a read concern do banco de dados/cliente), a menos que uma read concern tenha sido definida no nível de operação.

Não se aplica a operações dentro de transações.

Nível de operação

Aplica-se à operação de leitura específica (ou seja, substitui a read concern da collection/cliente/banco de dados).

A capacidade de definir a read concern na operação depende do driver. Consulte a documentação do driver.

Não se aplica a operações dentro de transações.

Para obter mais informações sobre o read concern disponível, consulte Read Concern.

Herança de preocupação de leitura/gravação
clique para ampliar

O preocupação de gravação padrão implícito é w: majority. w: majority garante a durabilidade da gravação exigindo que os conjuntos de réplicas aguardem o registro no diário no disco por padrão, controlado por writeConcernMajorityJournalDefault. No entanto, há um caso extremo para implantações de conjunto de réplicas contendo árbitros:

  • A maioria dos votos de um conjunto de réplicas é de 1 mais metade do número de membros votantes, arredondado para baixo. Se o número de membros votantes portadores de dados não for maior que a maioria votante, o write concern padrão é { w: 1 }.

  • Em todos os outros cenários, a preocupação de gravação padrão é { w: "majority" }.

Especificamente, MongoDB usa a seguinte fórmula para determinar a preocupação de escrita padrão:

if [ (#arbiters > 0) AND (#non-arbiters <= majority(#voting-nodes)) ]
defaultWriteConcern = { w: 1 }
else
defaultWriteConcern = { w: "majority" }

Por exemplo, considere as seguintes implantações e suas respectivas preocupações de escrita padrão:

Non-Arbiters
Árbitros
Nós de votação
Maioria dos nós de votação
Write concern padrão implícito

2

1

3

2

{ w: 1 }

4

1

5

3

{ w: "majority" }

  • No primeiro exemplo:

    • Existem 2 não-arbitores e 1 árbitro para um total de 3 nós de votação.

    • A maioria dos nós de votação (1 mais metade de 3, arredondado para baixo) é 2.

    • O número de não-arbitros (2) é igual à maioria dos nós de votação (2), resultando em uma preocupação implícita de escrita de { w: 1 }.

  • No segundo exemplo:

    • Existem 4 não-árbitros e 1 árbitro para um total de 5 nós votantes.

    • A maioria dos nós de votação (1 mais metade de 5, arredondado para baixo) é 3.

    • O número de não-arbitros (4) é maior que a maioria dos nós de votação (3), resultando em uma preocupação implícita de escrita de { w: "majority" }.

As informações a seguir se aplicam a operações executadas fora de transações. Para obter informações de preocupação de leitura relacionadas a operações executadas dentro de transações, clique na aba Operations in Transactions.

Usando os drivers do MongoDB, você pode substituir a write concern padrão e definir a write concern para as operações nos seguintes níveis:

Nível
Descrição

Nível do cliente

Aplica-se às operações, a menos que uma write concern mais refinada para uma operação seja definida na operação/banco de dados/collection.

Nível do banco de dados

Aplica-se a operações de escrita nas collections do banco de dados (ou seja, substitui a write concern do cliente), a menos que uma write concern tenha sido definida no nível de collection ou operação.

Não se aplica a operações dentro de transações.

Nível de collection

Aplica-se a operações de escrita na collection (ou seja, substitui o banco de dados e a write concern do cliente), a menos que uma write concern tenha sido definida no nível de operação.

Não se aplica a operações dentro de transações.

Nível de operação

Aplica-se à operação de escrita específica.

The ability to set write concern at the operation depends on the driver. Refer to your driver's documentation.

Não se aplica a operações dentro de transações.

Para obter mais informações sobre as write concerns disponíveis, consulte write concern.

Com sessões de cliente causalmente consistentes, as sessões de cliente só garantem consistência causal se:

  • as operações de leitura associadas usam "majority" read concern e

  • as operações de gravação associadas usam "majority" write concern.