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 aplicação se conecta e com a versão Go em que o aplicação é 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 aplicação exige ao atualizar as versões do driver no futuro, use a 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.2 Alterações interruptivas
Elimina o suporte para o MongoDB Server v3.6. A versão mínima suportada do MongoDB Server agora é v4.0. Isso também elimina o suporte para o mecanismo de autenticação
MONGODB-CR
. Para saber mais sobre compatibilidade com as versões do MongoDB Server, consulte a referência de 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/primitive
e altere qualquer instância deprimitive.ObjectID
parabson.ObjectId
.