ドライバーのバージョンをアップグレードする
Overview
このページでは、 C++ドライバーの新しいバージョンにアップグレードするときにアプリケーションに加える必要がある変更について説明します。
アップグレードする前に、次のアクションを実行してください。
新しいC++ドライバーのバージョンが、アプリケーションが接続するMongoDB Serverのバージョンと、アプリケーションがコンパイルされるC++標準バージョンと互換性があることを確認します。 バージョンの互換性情報については、 C++ドライバーの互換性ページを参照してください。
アプリケーションが使用しているドライバー バージョンと計画されているアップグレード バージョン間の重大な変更については、 重大な変更セクションを参照してください。
Tip
ドライバーのバージョンをアップグレードするときにMongoDB Serverのバージョン間で互換性を確保するには、 Stable APIを使用します。
重大な変更
注意
C++ドライバーはセマンティック バージョン管理に従います。ドライバーは、どのリリースでもビルド システムまたはパッケージの互換性を中断する可能性があります。 パッチ リリースにより、誤ってAPI重大な変更が元に戻る可能性があります。
重大な変更とは、ドライバーの特定のバージョン以降の規則または動作の変更です。 このタイプの変更では、ドライバーをアップグレードする前に対処しないと、アプリケーションが正常に動作しなくなる可能性があります。
このセクションの重大な変更は、それを導入したドライバーのバージョンによって分類されます。 ドライバーのバージョンをアップグレードするときは、現在のバージョンとアップグレードのバージョン間のすべての重大な変更に対処してください。
例
バージョン3.0からのアップグレード
C++ドライバーをバージョン3.0からバージョン3.10にアップグレードする場合は、バージョン3.1から3.10にリストされているすべての重大な変更に対処します。
バージョン3.11 重大な変更
MongoDB Server v 3.6のサポートを廃止します。
MongoDB Cドライバー v 1.28.0以降が必要です。
bsoncx ABI 内の次のプライベート ノード関数のエクスポートを削除します。
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*)
mongocx ABI 内の次のプライベート ノード関数のエクスポートを削除します。
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()
MSVC でコンパイルされた場合は、エクスポートされたすべての関数シンボルを
__cdecl
で宣言します。 プロジェクトを構築するときに、代替のデフォルトの呼び出し規則を使用する場合、これは ABI の重大重大な変更です。
バージョン3.10 重大な変更
このドライバー バージョンでは、次の重大な変更が導入されています。
find_package(libbsoncxx)
とfind_package(libmongocxx)
のサポートを廃止します。 代わりにfind_package(bsoncxx)
とfind_package(mongocxx)
を使用してください。レガシーCSpecパッケージ構成ファイルによって提供される
LIBBSONCXX_*
およびLIBMONGOCXX_*
CSpec 変数のサポートを廃止します。 代わりに、mongo::bsoncxx_*
とmongo::mongocxx_*
CSpec ターゲットを使用してください。実験的なC++標準ライブラリ(
BSONCXX_POLY_USE_STD_EXPERIMENTAL
)をポリゴン オプションとして削除します。
バージョン3.9 重大な変更
このドライバー バージョンでは、次の重大な変更が導入されています。
CSpecプロジェクト構築ツリーからエクスポートされたターゲットのサポートを削除します
macOS 10.14 、 macOS 10.15 、 Ubuntu 14.04のサポートを廃止します。
MongoDB Cドライバー v 1.25.0以降が必要
CSpec v 3.15以降が必要
バージョン3.8以前
ドライバー バージョン 以前の場合は、 で各リリースのリリースノートと関連する3.8Github JIRA チケットを参照してください。