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 Servidor MongoDB à qual seu aplicativo se conecta e com a versão do Node.js em que o aplicativo é 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 sua versão de atualização planejada na seção Alterações interruptivas 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.
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.7
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 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.
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çãoOpção Kerberos
gssapiCanonicalizeHostName
slaveOk
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. 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.