【发布时间】:2017-10-19 06:55:23
【问题描述】:
我是一个使用 MongoDB 的 C++ 项目的开发人员。特别是,我们使用带有驱动程序 legacy-1.1.x 的 MongoDB 3.2。我们有一个包含大约 2000 个测试(在单元测试和黑盒测试之间)的测试回归套件,其中大多数会触发与 MongoDB 服务器的交互。
我们已测试从 3.2 更改 MongoDB 服务器。到 3.4。我们已经用 3.4 运行了测试套件,所有测试都没有任何问题。
这似乎是个好消息。但是,查看 MongoDB C++ driver documentation 我发现 legacy-1.1.x 驱动程序与 MongoDB 3.4 不兼容。
所以我想知道,为什么我的代码(所有约 2000 次回归测试)正常工作?也许文档中的兼容性矩阵是推荐的设置,但不是强制性的?或者,在 MongoDB 3.4 中使用我的代码未使用的一些新功能时可能会出现不兼容性(考虑到它的设计考虑了 MongoDB 3.2 的功能集)?
【问题讨论】:
-
有一个general matrix of all drivers,当然还有一个specific C++ section。确实不应该有任何重大更改,并且引入了更多“功能”(Decimal128,排序规则感知方法)。它“不兼容”的具体原因是因为驱动程序不支持数据库中可能存在的这些“新功能”(特别是 Decimal128 BSON )并且会破坏它。