Visão geral
Esta página descreve as alterações que você deve fazer no seu aplicação ao atualizar para uma nova versão do driver Go.
Antes de atualizar, execute as seguintes ações:
Certifique-se de que a nova versão do driver Go seja compatível com a versão do MongoDB Server à qual seu aplicativo se conecta e com a versão Go em que o aplicativo é executado. Para mais informações, consulte a página deCompatibilidade do .
Resolva quaisquer alterações significativas entre as versões do driver que seu aplicação usa e a versão de atualização planejada na seção Alterações significativas.
Dica
Para minimizar o número de alterações que seu aplicativo exige ao fazer upgrade das versões do driver no futuro, use o Stable API.
Mudanças de última hora
Uma alteração significativa é uma alteração de uma convenção ou comportamento a partir de uma versão específica do driver. Esse tipo de alteração pode impedir que seu aplicativo funcione corretamente se não for resolvido antes de atualizar o driver.
As alterações interruptivas nesta seção são categorizadas pela versão do driver que as introduziram. Ao atualizar as versões do driver, resolva todas as alterações interruptivas entre a versão atual e a atualizada.
Versão 2.4 Alterações interruptivas
Descarta o suporte para o MongoDB Server v4.0. A versão mínima suportada do MongoDB Server agora é v4.2. Para saber mais sobre compatibilidade com as versões do MongoDB Server, consulte a página de Compatibilidade.
Versão 2.2 Alterações interruptivas
Descarta o suporte para o MongoDB Server v3.6. A versão mínima suportada do MongoDB Server agora é v4.0. Isso também descarta o suporte para o mecanismo de autenticação
MONGODB-CR. Para saber mais sobre compatibilidade com as versões do MongoDB Server, consulte a página Compatibilidade.
Versão 2.0 Alterações interruptivas
mongo.Connect()não aceita um parâmetro de contexto. Este método aceita apenas um objeto de opções. Para visualizar um exemplo que usa esse método, consulte o Código de exemplo de conexão no Guia de conexão.O método
Cursor.SetMaxTime()é renomeado paraCursor.SetMaxAwaitTime(). Este método especifica o tempo máximo que o servidor aguarda novos documentos recuperados de uma collection limitada com um cursor persistente.Remoção de opções de tempo limite específicas da operação. Os seguintes campos e métodos de configuração foram removidos do driver:
AggregateOptions.MaxTime,AggregateOptions.SetMaxTime()ClientOptions.SocketTimeout,ClientOptions.SetSocketTimeout()CountOptions.MaxTime,CountOptions.SetMaxTime()DistinctOptions.MaxTime,DistinctOptions.SetMaxTime()EstimatedDocumentCountOptions.MaxTime,EstimatedDocumentCountOptions.SetMaxTime()FindOptions.MaxTime,FindOptions.SetMaxTime()FindOneOptions.MaxTime,FindOneOptions.SetMaxTime()FindOneAndReplaceOptions.MaxTime,FindOneAndReplaceOptions.SetMaxTime()FindOneAndUpdateOptions.MaxTime,FindOneAndUpdateOptions.SetMaxTime()GridFSFindOptions.MaxTime,GridFSFindOptions.SetMaxTime()CreateIndexesOptions.MaxTime,CreateIndexesOptions.SetMaxTime()DropIndexesOptions.MaxTime,DropIndexesOptions.SetMaxTime()ListIndexesOptions.MaxTime,ListIndexesOptions.SetMaxTime()SessionOptions.DefaultMaxCommitTime,SessionOptions.SetDefaultMaxCommitTime()TransactionOptions.MaxCommitTime,TransactionOptions.SetMaxCommitTime()WriteConcern.WTimeout
Em vez disso, você pode definir um tempo limite para seu cliente ou dentro de um contexto. Saiba mais no guia Limitar o tempo de execução do servidor.
Remoção do pacote
bson/primitive. Este pacote agora está mesclado com o pacotebson. Para atualizar seu código, remova todas as declarações de importaçãobson/primitivee altere qualquer instância deprimitive.ObjectIDparabson.ObjectId.