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, realice las siguientes acciones:
Asegúrese de que la nueva versión del controlador Go sea compatible con la versión del servidor MongoDB a la que se conecta su aplicación y con la versión de Go en la que se ejecuta. Para obtener más información, consulte Páginade 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 la cantidad de cambios que requiere su aplicación al actualizar las versiones del controlador en el futuro, utilice el API estable.
Cambios radicales
Un cambio importante es un cambio en una convención o comportamiento que se inicia en una versión específica del controlador. Este tipo de cambio puede impedir el correcto funcionamiento de la aplicación si no se soluciona antes de actualizar el controlador.
Los cambios importantes de esta sección se clasifican según la versión del controlador que los introdujo. Al actualizar las versiones del controlador, tenga en cuenta todos los cambios importantes entre la versión actual y la versión de actualización.
Cambios importantes en la versión 2.4
Cambios importantes en la versión 2.2
Se elimina la compatibilidad con MongoDB Server v3.6. La versión mínima compatible con MongoDB Server ahora es v4.0. Esto también elimina la compatibilidad con
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, consulte 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 recuperar nuevos documentos de una colección limitada con un cursor adaptable.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 saber cómo actualizar su aplicación de v1 a v,2 consulte la Guía de migración del controlador Go.2.0