Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

Definir versão de compatibilidade do recurso

Nesta página

  • Definição
  • Sintaxe
  • Comportamento
  • Exemplos
setFeatureCompatibilityVersion

Habilita ou desabilita os recursos que persistem aos dados incompatíveis com versões anteriores do MongoDB. Você só pode emitir o setFeatureCompatibilityVersion em relação ao banco de dados admin.

O comando recebe o seguinte formulário:

db.adminCommand( {
setFeatureCompatibilityVersion: <version>,
writeConcern: { wtimeout: <timeout> }
} )

Os valores para version são:

Versão
Descrição
"5.0"

Disponível no MongoDB 5.0 Sistemas

Ativa o 5.0 funcionalidades que persistem dados incompatíveis com o MongoDB 4.4.

"4.4"

Disponível nos Sistemas MongoDB 4.4 e 5.0

Habilita os recursos 4.4 que persistem dados incompatíveis com o MongoDB 4.2.

"4.2"

Disponível nos Sistemas do MongoDB 4.4

Desativa os recursos 4.4 que persistem dados incompatíveis com o MongoDB 4.2.

Opcional

O writeConcern especifica o valor de preocupação de gravação wtimeout em milissegundos:

  • O período que o primary aguarda a confirmação da maioria dos nós do conjunto de réplicas. Se o reconhecimento não for recebido no período, a operação falhará.

  • O padrão é 60000 milissegundos. Utilize um período mais longo se os membros secundários do conjunto de réplicas tiverem um atraso que exceda o padrão wtimeout.

Observação

  • Para um standalone, execute o comando na instância do standalone mongod.

  • Para um conjunto de réplicas, execute o comando no primary. A maioria dos nós portadores de dados deve estar disponível.

  • Para um cluster fragmentado, execute o comando em uma instância do mongos.

Certas operações em segundo plano podem impedir a execução de setFeatureCompatibilityVersion. Utilize o currentOp para identificar quaisquer operações em andamento.

Se você acionar uma alteração de setFeatureCompatibilityVersion durante uma sincronização inicial, a sincronização poderá falhar com uma mensagem de erro OplogOperationUnsupported ao reproduzir entradas na fase de aplicação oplog. A sincronização após essa tentativa é bem-sucedida porque a fase de operação não repete mais a operação.

Implantações
featureCompatibilityVersion
Para novos sistemas 5.0
"5.0"
Para sistemas 5.0 atualizados do 4.4
"4.4" até você setFeatureCompatibilityVersion a "5.0".

Este comando deve executar gravações em uma collection interna do sistema. Se, por algum motivo, o comando não for concluído com êxito, você poderá tentar novamente com segurança, pois a operação é idempotente.

Os arbiters não replicam a collection admin.system.version. Por esse motivo, os arbiters sempre têm uma versão de compatibilidade de recursos igual à versão de downgrade do binário, independentemente do valor fCV do conjunto de réplicas.

Por exemplo, um arbiter em um cluster do MongoDB 5.0 tem um valor fCV de 4.4.

Para visualizar o featureCompatibilityVersion para uma instância do mongod , execute o seguinte comando em uma instância do mongod :

Observação

A operação é indefinida nas instâncias do mongos . Para um cluster fragmentado que tenha o controle de acesso ativado, para executar o comando em um membro do conjunto de réplicas de shard, você deve se conectar ao membro como um usuário local de shard.

db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )

A saída deste comando será semelhante a uma das seguintes, dependendo do estado atual do mongod:

  • Se a implantação tiver o padrão featureCompatibilityVersion ou se o comando setFeatureCompatibilityVersion tiver sido executado com êxito na implantação, featureCompatibilityVersion terá o formato:

    "featureCompatibilityVersion" : {
    "version" : <version>
    }
  • Se o mongod estiver em um estado parcialmente atualizado ou downgrade, o featureCompatibilityVersion terá o seguinte formulário:

    "featureCompatibilityVersion" : {
    "version" : <version> ,
    "targetVersion" : <target version>
    }

    Por exemplo, se um cluster fragmentado tiver um conjunto de réplicas de shard que é somente leitura quando você executar o comando setFeatureCompatibilityVersion no mongos, o comando falhará e o featureCompatibilityVersion dos servidores de configuração incluirá o campo targetVersion .

    Ou, se um conjunto de réplicas se tornar somente leitura enquanto setFeatureCompatibilityVersion estiver em execução, o comando falhará e o featureCompatibilityVersion do conjunto de réplicas também incluirá o campo targetVersion .

Para habilitar as funcionalidades do 5.0 que persistem dados incompatíveis com MongoDB 4.4, configure a compatibilidade da funcionalidade para "5.0" no sistema do MongoDB 5.0:

Observação

Execute o comando setFeatureCompatibilityVersion no banco de dados do admin.

  • Para um standalone, execute o comando na instância do standalone mongod.

  • Para um conjunto de réplicas, execute o comando no primary. A maioria dos nós portadores de dados deve estar disponível.

  • Para um cluster fragmentado, execute o comando em uma instância do mongos.

db.adminCommand( { setFeatureCompatibilityVersion: "5.0" } )

Para desabilitar as funcionalidades do 5.0 que persistem dados incompatíveis com MongoDB 4.4, configure a compatibilidade da funcionalidade para "4.4" no sistema do MongoDB 5.0:

Observação

Execute o comando setFeatureCompatibilityVersion no banco de dados do admin.

  • Para um standalone, execute o comando na instância do standalone mongod.

  • Para um conjunto de réplicas, execute o comando no primary. A maioria dos nós portadores de dados deve estar disponível.

  • Para um cluster fragmentado, execute o comando em uma instância do mongos.

  • "4.4" featureCompatibilityVersion é suportado somente nos sistemas MongoDB 4.4 e MongoDB 5.0.

db.adminCommand( { setFeatureCompatibilityVersion: "4.4" } )

Se executar como parte do processo de downgrade do MongoDB 5.0 para MongoDB 4.4, você também deverá remover todas as funcionalidades persistentes que são incompatíveis com o 4.4. Consulte os procedimentos de downgrade apropriados.

O exemplo a seguir define o campo de wtimeout de write concern opcional como 5000 (5 segundos).

Observação

Execute o comando setFeatureCompatibilityVersion no banco de dados do admin.

  • Para um standalone, execute o comando na instância do standalone mongod.

  • Para um conjunto de réplicas, execute o comando no primary. A maioria dos nós portadores de dados deve estar disponível.

  • Para um cluster fragmentado, execute o comando em uma instância do mongos.

db.adminCommand( {
setFeatureCompatibilityVersion: "5.0",
writeConcern: { wtimeout: 5000 }
} )

Voltar

setAuditConfig

Próximo

setIndexCommitQuorum