Docs Menu
Docs Home
/ /

Actualizar versiones de los controladores

Esta página describe los cambios que debe realizar en su aplicación cuando actualiza a una nueva versión del controlador C++.

Antes de actualizar, realice las siguientes acciones:

  • Asegúrese de que la nueva versión del controlador de C++ sea compatible con las versiones de MongoDB Server a las que se conecta su aplicación y con la versión estándar de C++ con la que compila su aplicación. Para obtener información sobre la compatibilidad de versiones, consulte Compatibilidad.

  • Aborde cualquier cambio importante entre la versión del controlador que utiliza su aplicación y la versión de actualización planificada en la sección Cambios importantes.

Tip

Para garantizar la compatibilidad entre las versiones de MongoDB Server al actualizar las versiones del controlador, utilice el API estable.

Nota

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.

Ejemplo

Actualización desde la versión 3.0

Si está actualizando el controlador C++ de la versión 3.0 a la versión 3.10, aborde todos los cambios importantes enumerados para las versiones 3.1 a 3.10, si los hay.

  • Se elimina el soporte para MongoDB Server v3.6.

  • Se requiere MongoDB C Driver v1.28.0 o posterior.

  • Si el ENABLE_TESTS Si la opción de configuración está establecida en ON, se requiere C++14 o posterior. Puede optar por no cumplir con el requisito de C++14 deshabilitando las pruebas con ENABLE_TESTS=OFF durante la configuración de CMake.

  • Elimina la exportación de las siguientes funciones miembro privadas en la ABI bsoncxx:

    bsoncxx::v_noabi::types::bson_value::value::value(const uint8_t*, uint32_t, uint32_t, uint32_t)
    bsoncxx::v_noabi::types::bson_value::view::_init(void*)
    bsoncxx::v_noabi::types::bson_value::view::view(const uint8_t*, uint32_t, uint32_t, uint32_t)
    bsoncxx::v_noabi::types::bson_value::view::view(void*)
  • Elimina la exportación de las siguientes funciones miembro privadas en la ABI mongocxx:

    mongocxx::v_noabi::options::change_stream::as_bson()
    mongocxx::v_noabi::options::aggregate::append(bsoncxx::v_noabi::builder::basic::document&)
    mongocxx::v_noabi::options::index::storage_options()
  • Declare todos los símbolos de funciones exportadas con __cdecl al compilar con MSVC. Este cambio es crucial para la ABI si utiliza una convención de llamada predeterminada alternativa al compilar proyectos.

Esta versión del controlador introduce los siguientes cambios importantes:

  • Elimina el soporte para find_package(libbsoncxx) y find_package(libmongocxx). Utilice find_package(bsoncxx) y find_package(mongocxx) en su lugar.

  • Se elimina la compatibilidad con las variables LIBBSONCXX_* y LIBMONGOCXX_* de CMake proporcionadas por los archivos de configuración del paquete CMake antiguo. En su lugar, se utilizan los destinos mongo::bsoncxx_* y mongo::mongocxx_* de CMake.

  • Elimina la biblioteca estándar experimental de C++ (BSONCXX_POLY_USE_STD_EXPERIMENTAL) como una opción de polyfill.

Esta versión del controlador introduce los siguientes cambios importantes:

  • Elimina la compatibilidad con los objetivos exportados del árbol de compilación del proyecto CMake

  • Se elimina la compatibilidad con macOS 10.14, macOS 10.15 y Ubuntu 14.04

  • Requiere el controlador MongoDB C v1.25.0 o posterior

  • Requiere CMake v3.15 o posterior

Para versiones de drivers 3.8 y anteriores, consulta las notas de la versión y los tickets de JIRA asociados para cada versión en GitHub.

Volver

Novedades

En esta página