Overview
Esta página describe los cambios que debe realizar en su aplicación al actualizar a una nueva versión del controlador Go.
Antes de actualizar, realiza las siguientes acciones:
Asegúrese de que la nueva versión del driver Go sea compatible con la versión de MongoDB Server a la que se conecta su aplicación y con la versión de Go en la que se ejecuta su aplicación. Para obtener más información, consulta la página de Compatibilidad.
Aborda cualquier cambio disruptivo entre las versiones del driver que utiliza tu aplicación y tu versión de actualización planificada en la sección Breaking Changes.
Tip
Para minimizar la cantidad de cambios que tu aplicación requiere al actualizar las versiones del driver en el futuro, utiliza la Stable API.
cambio disruptivo
Un cambio disruptivo es un cambio en una convención o comportamiento que empieza a partir de una versión específica del driver. Este tipo de cambios puede evitar que tu aplicación funcione correctamente si no se abordan antes de actualizar el controlador.
Los cambios disruptivos en esta sección se categorizan según la versión del driver que los ha introducido. Al actualizar las versiones del driver, debes abordar todos los cambios disruptivos entre la versión actual y la versión de actualización.
Versión 2.4 cambio disruptivo
- Elimina el soporte para MongoDB Server v4.0. La versión mínima compatible de MongoDB Server ahora es v4.2. Para obtener más información sobre la compatibilidad con las versiones de MongoDB Server, consulta la página Compatibilidad.
Versión 2.2 cambio disruptivo
- Elimina el soporte para MongoDB Server v3.6. La versión mínima compatible de MongoDB Server ahora es v4.0. Esto también descarta la compatibilidad con el mecanismo de autenticación
MONGODB-CR. Para obtener más información sobre la compatibilidad con las versiones de MongoDB Server, consulta la página Compatibilidad.
Versión 2.0 cambio disruptivo
mongo.Connect()no acepta un parámetro de Contexto. Este método solo acepta un objeto de opciones. Para ver un ejemplo que utiliza este método, consulta el Código de ejemplo de conexión en la Guía de conexión.El método
Cursor.SetMaxTime()se renombra aCursor.SetMaxAwaitTime(). Este método especifica el tiempo máximo que el servidor espera para nuevos documentos recuperados de una colección con tamaño fijo con un cursor con seguimiento.Eliminación de las opciones de tiempo de espera específicas de la operación. Se han eliminado los siguientes campos y métodos setter del controlador:
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
En su lugar, puedes establecer un tiempo de espera en tu cliente o dentro de un Contexto. Obtén más información en la guía Limitar el tiempo de ejecución del servidor.
Eliminación del paquete
bson/primitive. Este paquete ahora está fusionado con el paquetebson. Para actualizar su código, elimine cualquier instrucción de importación debson/primitivey cambie cualquier instancia deprimitive.ObjectIDporbson.ObjectId.
Para aprender cómo actualizar tu aplicación de v1 a v2, consulta la Guía de migración del controlador Go 2.0.