Dica
Notas de versão
Para saber mais sobre alterações e atualizações entre versões, você pode ler as notas de versão publicadas com o código-fonte do driver.
Descubra as novidades de cada versão:
Novidades no 1.15
O 1.15 A versão do driver Go inclui as seguintes melhorias e correções:
A rotatividade de conexão pode ser atenuada definindo um tempo limite para todo o cliente, especificando a opção de conexão
timeoutMS
ou chamando a função SetTimeout(). Quando o tempo limite é definido, o driver tenta reutilizar uma conexão após o tempo limite de uma operação e espera até um segundo para verificar se a conexão pode ser reutilizada antes de fechá-la.Os eventos do pool de conexões incluem um campo
Duration
para medir a duração do checkout e o tempo total necessário para estabelecer uma conexão.
Novidades no 1.14
O 1.14 A versão do driver Go inclui as seguintes melhorias e correções:
As versões do Go anteriores à 1.18 não são mais suportadas.
No caso de um tempo limite tipo heartbeat, as operações em andamento são canceladas preventivamente.
As cadeias de conexão que incluem o prefixo
"mongodb+srv://"
podem conter letras maiúsculas no nome do host SRV.
Novidades no 1.13
O 1.13 A versão do driver Go inclui as seguintes melhorias e correções:
Registro para seleção de servidor e SDAM. Para saber mais sobre registro, consulte a documentaçãode Registro .
Métodos do tipo
Collection
que permitem gerenciar índices de pesquisa de forma programática.Os eventos
event.CommandStartedEvent
eevent.CommandFinishedEvent
retornam o campoDatabaseName
. Esse campo também está incluído nos análogos do log de comandos.Em uma topologia fragmentada, ao selecionar um servidor para tentar novamente uma query malsucedida, o driver exclui o servidor usado para a tentativa inicial. Em vez disso, se houver mais de uma instância de
mongos
qualificada, o driver selecionará aleatoriamente uma. As instâncias não saudáveis são automaticamente excluídas da seleção.O streaming do SDAM é desabilitado por padrão no AWS Lambda e plataformas semelhantes de função como serviço (FaaS). Você pode habilitar o monitoramento usando a opção
serverMonitoringMode
de URI .
Novidades em 1.12.1
O 1.12 A versão do driver Go inclui as seguintes melhorias e correções:
O driver libera conexões ao encerrar uma sessão. Isso evita vazamento de conexões quando um usuário executa uma transação enquanto está conectado a um balanceador de carga.
O driver não lança um erro de tempo de execução quando você desordena um tipo de
bson.RawValue
vazio com um tipo inválido ou desordena um ponteironil
de uma instânciaReadConcern
.Definir
options.LogComponentAll
como o componente de log corretamente resulta na publicação de logs em todos os componentes.
Novidades no 1.12
Importante
Aviso de depreciação
Os métodos
mongo.NewClient()
eclient.Connect()
estão obsoletos. Você pode criar um cliente e conectá-lo em uma chamada usando o métodomongo.Connect()
.
Novos recursos do 1.12 A versão do driver Go inclui:
Queryable Encryption
Esta versão do driver adiciona compatibilidade para Queryable Encryption (QE). Para saber mais sobre os requisitos para usar o recurso QE, consulte a Tabela de compatibilidade do driver de Queryable Encryption.
O método ClientEncryption.CreateEncryptedCollection()
cria automaticamente chaves de criptografia de dados quando você cria uma nova coleção criptografada. Para saber como usar o recurso QE, consulte o Início Rápido da Queryable Encryption no manual do Servidor.
Interface de registro em log
Agora você pode registrar eventos de gerenciamento de conexão e execução de comando usando a interface de log de LogSink
.
Para saber mais, consulte o guia básico de Logging.
Opções adicionais de ordenação de BSON
Esta versão do driver adiciona recursos ao pacote options
para especificar como o driver ordena e desordena o BSON.
O exemplo a seguir mostra como definir as opções BSON em seu Client
. As opções especificam os seguintes comportamentos:
O driver volta para as marcações de estrutura
json
se as marcações de estruturabson
estiverem ausentes.O driver desordena tipos de mapa Go
nil
como documentos BSON vazios.O driver ordena os tipos de fatia
nil
Go como arrays BSON vazias.
bsonOpts := &options.BSONOptions{ UseJSONStructTags: true, NilMapAsEmpty: true, NilSliceAsEmpty: true, } options.Client().SetBSONOptions(bsonOpts)
Para ver um exemplo completo de como especificar e implementar o tipo BSONOptions
, consulte a documentação da API.
Especificação simplificada de preocupação de gravação
Esta versão do driver simplifica a API WriteConcern
. Para saber mais sobre as mudanças, consulte Preocupação de gravação.
Alterações adicionais
Suporte para autenticação com funções AWS IAM no EKS.
Adição do método
Cursor.SetBatchSize()
para permitir a especificação do tamanho dos lotes buscados ao iterar por meio de um cursor.Adição do método
UnmarshalValue()
para permitir a desordenação dos valores de BSON ordenados com o métodoMarshalValue()
.