Overview
Esta página describe los cambios que debe realizar en su aplicación cuando actualiza a una nueva versión del controlador Go.
Antes de actualizar, realiza las siguientes acciones:
Asegúrate de que la nueva versión del driver de Go sea compatible con la versión de MongoDB Server a la que se conecta tu aplicación y con la versión de Go en la que se ejecuta la aplicación. Para más información, consulta el Página de Compatibilidad.
Aborde cualquier cambio importante entre las versiones del controlador que utiliza su aplicación y la versión de actualización planificada en la sección Cambios importantes.
Tip
Para minimizar el número de cambios que tu aplicación requiere al actualizar las versiones del controlador en el futuro, utiliza el Stable API.
Cambios radicales
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.
Cambios importantes en la versión 2.4
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.
Cambios importantes en la versión 2.2
Elimina el soporte para MongoDB Server v3.6. La versión mínima compatible de MongoDB Server ahora es v4.0. Esto también dejará de soportar la
MONGODB-CRmecanismo de autenticación. Para obtener más información sobre la compatibilidad con las versiones de MongoDB Server, consulte la página de Compatibilidad.
Cambios importantes en la versión 2.0
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.Se eliminaron las opciones de tiempo de espera específicas de la operación. Se eliminaron del controlador los siguientes campos y métodos de establecimiento:
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, puede establecer un tiempo de espera en su cliente o dentro de un contexto. Obtenga 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.