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 interruptivas entre a versão do driver que seu aplicativo usa atualmente e a versão de atualização planejada na seção alterações interruptivas deste guia. Para saber mais sobre as mudanças de compatibilidade da versão do MongoDB Server, consulte a seção Alterações de compatibilidade da versão do servidor.
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@5.6
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 o npm-install documentação npm.
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 mudanças significativas 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 significativas entre sua versão atual e a versão de atualização planejada. Por exemplo, se você estiver atualizando o driver da v3.x para a v5.x, resolva todas as alterações significativas listadas em v4.x e v5.x.
Versão 5.x: mudanças importantes
As versões 5.x do driver não são compatíveis com Node.js v12 ou anterior. Para usar esta versão do driver, você deve utilizar o Node.js v14.20.1 ou superior.
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.x
As versões 4.x do driver não são compatíveis com Node.js v12.8 ou anterior. Se quiser utilizar esta versão do driver, você deve utilizar o Node.js v12.9 ou superior.
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. Os usuários devem usarauthMechanismProperties.SERVICE_NAME
em vez dela.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.