首页 > 解决方案 > MongoDB Morphia 兼容性矩阵

问题描述

我有一个项目,其 mongo DB 版本正在从 3.2 迁移到 4.0。由于 mongo DB 不允许生态系统直接从 3.2 跳转到 4.0,所以我们这样迁移:3.2 -----> 3.4 -----> 3.6 -------> 4.0

我们在代码中使用 morphia ODM。当我们使用 v1.1.1 到 3.4 并开始使用 v1.3.2 进行似乎有效的进一步升级时,它引起了很多关于版本是否与 mongo 兼容的实验?

  1. 是否有任何参考可以从 mongo db 与 morphia 获得兼容性矩阵?

  2. 既然 3.6 聚合框架需要一个批量大小参数,那是什么原因呢?吗啡的根本变化是什么?

  3. 我看到 org.mongodb.morphia 从 2017 年就停止了开发,而 dev.morphia 出现了,他们现在是一个新的组织吗?

标签: mongodbmongooseaggregation-frameworkmorphiaodm

解决方案


  1. 没有官方矩阵,但是如果您查看.travis.yml文件,您至少可以看到正在测试的内容。正式化这个矩阵有一个悬而未决的问题,但这有待对整个文档设置进行可能的返工。在大多数情况下,服务器兼容性取决于您使用的驱动程序。一般来说,较新的服务器版本应该可以与较旧的驱动程序/morphia 版本兼容,并且向后兼容性应该可以轻松追溯到 3.0,并且在许多情况下可以追溯到 2.4/2.6。
  2. 我不确定您对批量大小参数的意思。你是说吗啡需要那个还是服务器?两种方式都不会为我敲响警钟。该API有些不足。它最初是作为某种原型开始的,但我未能使其足够明显,然后就没有时间修复它。(请参阅下一个要点。)然而,我正在2.0 中构建一个更完整、更强大的聚合 API,它应该比当前的更易于使用和扩展。
  3. 至于org.mongodb.morphiavs dev.morphiasplit,这里有一段历史:当我在 MongoDB 工作时,我是负责吗啡多年的工程师。当我离开公司从事其他工作时,吗啡的开发实际上停止了。作为一个局外人,现在,我没有以前的访问权限。过了一会儿,我终于问 MongoDB 他们是否愿意把项目交给我,让我继续做,他们很客气地做了。所以现在 morphia 是一个社区驱动项目,而不是官方的(ish)MongoDB 产品。Morphia 位于一个新的 github组织下并且处于我能维持的最活跃的发展阶段。2.0 越来越接近,此时聚合成为主要障碍,在较小程度上,地理支持。我已经推了一个 ALPHA 或 2,一旦 agg 框架“完成”,就会有一个新的。

推荐阅读