Atualizar versões do driver
Nesta página
Visão geral
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.
Como fazer a atualização
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.
Mudanças de última hora
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.
Versão 6.0 Alterações interruptivas
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çãotlsCertificateFile
no tipoMongoClientOptions
. Crie um objetoSecureContext
ou defina as opções pré-fixadas dotls
na sua instância doMongoClientOptions
.O driver lê arquivos definidos nas opções de conexão
tlsCAFile
etlsCertificateKeyFile
ao chamar o métodoMongoClient.connect()
, não quando você cria a instânciaMongoClient
.O drvier remove as opções de conexão
keepAlive
ekeepAliveInitialDelay
. O valor dekeepAlive
é definido permanentemente comotrue
, e o valor dekeepAliveInitialDelay
é 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. domongodb-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()
ecommitTransaction()
modificados para retornarnull
em vez dos resultados brutos do comando.Auxiliares da opção de conexão removidos que aceitaram valores diferentes de
true
oufalse
como booleanos. Você deve fornecer valorestrue
oufalse
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 retornaundefined
. O métodowithTransaction()
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.
alteração interruptiva na versão 5.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()
eCollection.remove()
. A lista a seguir fornece instruções sobre como substituir a funcionalidade dos métodos removidos:Migrar de
Collection.insert()
parainsertOne()
ouinsertMany()
Migrar de
Collection.update()
paraupdateOne()
ouupdateMany()
Migrar de
Collection.remove()
paradeleteOne()
oudeleteMany()
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çãopromiseLibrary
doMongoClient
e à exportaçãoPromise.set
que permite especificar uma biblioteca dePromise
personalizada.O driver remove o suporte para o auxiliar
Collection.mapReduce()
.O tipo
BulkWriteResult
não tem mais a propriedaderesult
publicamente enumerável.Os seguintes tipos, opções e métodos foram removidos:
BulkResult.lastOp()
MétodoopTime
propriedade deBulkResult
BulkWriteOptions.keepGoing
opçãoWriteConcernError.err()
MétodoAddUserOptions.digestPassword
opçãoKerberos
gssapiCanonicalizeHostName
optionslaveOk
opções e métodos removidos para oferecersecondaryOk
ObjectID
tipo removido em favor deObjectId
AsyncIterator
interface removida em favor deAsyncGenerator
Alterações significativas na versão 4.0
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 estendemReadable
diretamente.Você não pode utilizar uma instância do
ChangeStream
como um iterador após utilizá-la como umEventEmitter
. Você também não pode fazer o contrário – utilizar uma instância doEventEmitter
como um iterador após utilizá-lo como umChangeStream
.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, useauthMechanismProperties.SERVICE_NAME
.O driver já não aceita tipos não boolean, como
0
ou1
, para opções boolean.O tipo
db.collection
não aceita mais chamada de resposta.O tipo
Db
não é mais umEventEmitter
. Você pode ouvir qualquer evento diretamente da instânciaMongoClient
.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.
Alterações na compatibilidade da versão do servidor
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.
Versão 4.2: mudanças no suporte à versão do servidor
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.