MongoDBを使用するC++プロジェクトの開発者です。特に、MongoDB 3.2とドライバレガシー1.1.xを使用しています。約2000件のテスト(単体テストとブラックボックステストの間)のテスト回帰スイートがあり、そのほとんどがMongoDBサーバーとのやりとりを引き起こします。MongoDB C++ legacy-1.1.xとMongoDBとの互換性3.4
私たちはMongoDBサーバーを3.2から変更することをテストしました。 3.4。私たちは3.4でテストスイートを実行しましたが、すべてのテストは問題なく動作しています。
これは良いニュースのようです。しかし、MongoDB C++ driver documentationを見ると、従来の1.1.xドライバはMongoDB 3.4と互換性がありません。
なぜ私のコード(すべての〜2000回の回帰テスト)が機能しているのでしょうか?ドキュメンテーションの互換性マトリックスが推奨される設定かもしれませんが、必須ではありませんか?あるいは、MongoDB 3.4でいくつかの新機能を使用しているときに、私のコードが使用されていない(MongoDB 3.2の機能セットを念頭に置いて設計されているため)という不一致が起こります。
[すべてのドライバの一般的なマトリックス](https://docs.mongodb.com/ecosystem/drivers/driver-compatibility-reference/)ともちろん[特定のC++セクション](https:// docs .mongodb.com/ecosystem/drivers/driver-compatibility-reference /#reference-compatibility-mongodb-cpp)を参照してください。実際には大きな変化はありません。導入されるのは、より多くの「機能」(Decimal128、照合対応メソッド)です。特定の理由は "互換性がありません"とは、データベースに存在することがあるこれらの「新機能」(特にDecimal128 BSON)がドライバでサポートされておらず、それを破るためです。 –