Menu Docs
Página inicial do Docs
/ / /
Controlador Node.js

Atualizar versões do driver

Nesta página

  • Visão geral
  • Como fazer a atualização
  • Mudanças de última hora
  • Versão 6.0 Alterações interruptivas
  • alteração interruptiva na versão 5.0
  • Alterações significativas na versão 4.0
  • Alterações na compatibilidade da versão do servidor
  • Versão 4.2: mudanças no suporte à versão do servidor

Nesta página, você pode saber como atualizar seu driver para uma nova versão. Esta página também inclui as alterações que você deve fazer no seu aplicativo para atualizar seu driver sem perder a funcionalidade, se aplicável.

Antes de atualizar, execute as seguintes ações:

  • Certifique-se de que a nova versão do driver é compatível com a versão do MongoDB Server à qual seu aplicação se conecta e com a versão do Node.js em que o aplicação é executado. Consulte a página deCompatibilidade do para obter essas informações.

  • Resolva quaisquer alterações importantes entre a versão do driver que seu aplicativo usa agora e a versão de atualização planejada na seção Alterações Importantes deste guia. Para saber mais sobre as alterações de compatibilidade da versão do MongoDB Server , consulte a seção Alterações de compatibilidade da versão do servidor MongoDB .

Dica

Você pode minimizar a quantidade de alterações que deve fazer no aplicativo ao atualizar as versões do driver usando a API estável.

Para atualizar sua versão do driver, execute o seguinte comando no diretório do aplicativo:

npm install mongodb@6.12

Para atualizar para outra versão do driver, substitua as informações após o símbolo @ pelo número da versão desejada. Para obter mais informações sobre o npm install comando, consulte a documentação npm do npm-install.

Uma alteração significativa é uma modificação em uma convenção ou comportamento em uma versão específica do driver que pode impedir que seu aplicativo funcione conforme o esperado.

As alterações interruptivas nesta seção são categorizadas pelas versões principais que as introduziram. Ao atualizar as versões do driver, resolva todas as alterações interruptivas entre sua versão atual e a versão de atualização planejada. Por exemplo, se você estiver atualizando o driver de v3.x para v5.x, resolva todas as alterações interruptivas listadas em v4.0 e v5.0.

  • A versão 6.0 do driver Node.js requer Node.js v16.20.1 ou posterior.

  • O driver remove o suporte ao comando auxiliar addUser(). Em vez disso, use o comando createUser do MongoDB Shell.

  • O driver remove o suporte para a operação collStats. Em vez disso, use o operador de agregação $collStats.

  • O driver remove todas as opções obsoletas com prefixo ssl e a opção tlsCertificateFile no tipo MongoClientOptions. Crie um objeto SecureContext ou defina as opções pré-fixadas do tlsna sua instância do MongoClientOptions.

  • O driver lê arquivos definidos nas opções de conexão tlsCAFile e tlsCertificateKeyFile ao chamar o método MongoClient.connect(), não quando você cria a instância MongoClient .

  • O drvier remove as opções de conexão keepAlive e keepAliveInitialDelay. O valor de keepAlive é definido permanentemente como true, e o valor de keepAliveInitialDelay é definido como 300.000 milissegundos (300 segundos).

  • O método Db.command() aceita somente opções que não estão relacionadas a um comando específico. Para saber mais sobre essas opções, consulte a seção Opções de comando do aba Executar um comando.

  • Se você adicionar mongodb-client-encryption como uma dependência, o número da versão principal deverá corresponder ao do driver Node.js. Por exemplo, o driver Node.js v6.x.x requer a v6.x.x. do mongodb-client-encryption.

  • Os métodos de criptografia automática agora estão no driver Node.js. É necessário importar esses métodos do driver em vez de mongodb-client-encryption.

  • Foi removido o construtor ObjectId que aceitava strings de 12 caracteres.

  • Métodos abortTransaction() e commitTransaction() modificados para retornar null em vez dos resultados brutos do comando.

  • Auxiliares da opção de conexão removidos que aceitaram valores diferentes de true ou false como booleanos. Você deve fornecer valores true ou false na connection string ou para o construtor MongoClient.

  • Foi removido o construtor do tipo de BSON Binary que aceitava uma string.

  • O método Binary.write() não aceita mais uma string para gravar no objeto binário BSON.

  • A API ClientEncryption retorna promessas em vez de chamadas de resposta.

  • O pacote do socks, que habilita o suporte de proxy SOCKS5, é uma dependência opcional por pares. Você deve instalar o pacote para habilitar o SOCKS5 no seu aplicativo. Para saber mais, consulte Habilitar suporte de proxy SOCKS5.

  • Se você iniciar uma sessão em um cliente e, em seguida, passar essa sessão para um cliente diferente, o driver lançará um erro quando você executar qualquer operação na sessão.

  • A opção includeResultMetadata para métodos de operações compostas é false por padrão. Consulte a seção Métodos integrados do guia Operações Compostas para mais informações.

  • O método withSession() retorna o valor que a função fornecida retorna. Nas versões anteriores do driver, este método retorna undefined. O método withTransaction() retorna o valor que a chamada de resposta retorna. Em versões anteriores do driver, esse método retorna a resposta do comando do servidor, que varia dependendo da versão do Servidor MongoDB ou do tipo ao qual o driver se conecta. Para saber mais sobre transações, consulte os exemplos de uso de Realizar uma transação e o guia Transações.

  • Aumentou a versão mínima de dependência opcional kerberos para 2.0.1 e removeu o suporte para a versão 1.x.

  • Aumentou a versão mínima de dependência opcional zstd para 1.1.0.

  • O driver não é mais compatível com o Node.js v12 ou anterior. Se quiser usar esta versão do driver, você deverá usar o Node.js v14.20.1 ou posterior.

  • O driver remove o suporte para chamadas de resposta para oferecer uma API baseada em promessa. A lista a seguir fornece algumas estratégias para os usuários de chamadas de resposta adotarem esta versão:

    • Migrar para a API baseada em promessa (recomendado)

    • Use a API baseada em promessa e util.callbackify

    • Adicione mongodb-legacy para continuar usando chamadas de resposta

    Para obter mais informações sobre essas estratégias, consulte o changelog da v5.0.

  • O driver remove o suporte para os métodos auxiliares de Collection.insert(), Collection.update() e Collection.remove(). A lista a seguir fornece instruções sobre como substituir a funcionalidade dos métodos removidos:

    • Migrar de Collection.insert() para insertOne() ou insertMany()

    • Migrar de Collection.update() para updateOne() ou updateMany()

    • Migrar de Collection.remove() para deleteOne() ou deleteMany()

  • O driver já não inclui módulos do AWS SDK por padrão.

  • O driver já não importa automaticamente o pacote bson-ext.

  • O driver remove o suporte para bibliotecas personalizadas de Promise. O driver não oferece mais suporte à opção promiseLibrary do MongoClient e à exportação Promise.set que permite especificar uma biblioteca de Promise personalizada.

  • O driver remove o suporte para o auxiliar Collection.mapReduce().

  • O tipo BulkWriteResult não tem mais a propriedade result publicamente enumerável.

  • Os seguintes tipos, opções e métodos foram removidos:

    • BulkResult.lastOp() Método

    • opTime propriedade de BulkResult

    • BulkWriteOptions.keepGoing opção

    • WriteConcernError.err() Método

    • AddUserOptions.digestPassword opção

    • Kerberos gssapiCanonicalizeHostName option

    • slaveOk opções e métodos removidos para oferecer secondaryOk

    • ObjectID tipo removido em favor de ObjectId

    • AsyncIterator interface removida em favor de AsyncGenerator

  • O driver não é mais compatível com o Node.js v12.8 ou anterior. Se quiser usar esta versão do driver, você deverá usar o Node.js v12.9 ou posterior.

  • Cursor os tipos já não se estendem Readable diretamente.

  • Você não pode utilizar uma instância do ChangeStream como um iterador após utilizá-la como um EventEmitter. Você também não pode fazer o contrário – utilizar uma instância do EventEmitter como um iterador após utilizá-lo como um ChangeStream.

  • Os métodos a seguir não aceitam mais um parâmetro de chamada de resposta:

    • Collection.find()

    • Collection.aggregate()

    • Db.aggregate()

  • O valor-padrão da opção de conexão maxPoolSize agora é 100.

  • O driver não é mais compatível com a opção gssapiServiceName do Kerberos. Em vez disso, use authMechanismProperties.SERVICE_NAME.

  • O driver já não aceita tipos não boolean, como 0 ou 1, para opções boolean.

  • O tipo db.collection não aceita mais chamada de resposta.

  • O tipo Db não é mais um EventEmitter. Você pode ouvir qualquer evento diretamente da instância MongoClient.

  • O driver remove o suporte para o auxiliar Collection.group().

  • O driver não inclui mais a API GridStore obsoleta.

Para mais informações sobre estas alterações, consulte o registro de alterações na v4.0.

Uma alteração de compatibilidade de versão do servidor é uma modificação no driver que descontinua o suporte para um conjunto de versões do Servidor MongoDB.

O driver interrompe o suporte para uma versão do Servidor MongoDB após atingir o fim da vida útil (EOL).

Para saber mais sobre o suporte MongoDB para produtos EOL, consulte a Política de Suporte Legado.

  • O driver v4.2 remove a compatibilidade com o MongoDB Server v3.4 e anterior. Para usar o driver v4.2, seu MongoDB Server deve ser v3.6 ou posterior. Para saber como atualizar seu MongoDB Server, consulte Notas da versão no manual do MongoDB Server.

Voltar

Compatibilidade