MongoDB Morphia 兼容性矩阵

MongoDB Morphia Compatibility Matrix

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

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

的实验
  1. 是否有任何参考资料可以从 mongo db 与吗啡获得兼容性矩阵?

  2. 既然3.6 Aggregation framework需要一个batch size参数,请问是什么原因?吗啡的潜在变化是什么?

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

  1. 没有正式的矩阵,但是如果您查看 .travis.yml file you can see what's being tested at least. There's an open issue 来正式化这个矩阵,但是这可能需要对整个文档设置进行返工。在大多数情况下,服务器兼容性取决于您使用的驱动程序。一般来说,较新的服务器版本应该可以很好地适应较旧的 driver/morphia 版本,并且向后兼容性应该可以很容易地追溯到 3.0,在许多情况下可以追溯到 2.4/2.6。
  2. 我不确定你所说的批量大小参数是什么意思。你是说 morphia 需要那个还是服务器?这两种方式都不会给我敲响警钟。那API就有些不足了。它最初是作为某种原型开始的,但我没能使它足够明显,然后 运行 没时间修复它。 (请参阅下一个要点。)我 am,但是,在 2.0 中构建了一个更完整、更强大的聚合 API,它应该比当前一个。
  3. 至于 org.mongodb.morphiadev.morphia 的区别,这是一段历史:我在 MongoDB 工作期间担任多年的吗啡工程师。当我离开公司去从事其他工作时,吗啡的开发实际上停止了。作为一个局外人,现在,我没有以前的访问权限了。过了一会儿,我终于问 MongoDB 他们是否愿意将项目交给我并让我继续,他们很慷慨地做到了。所以现在吗啡是一个社区驱动程序项目,而不是官方(ish)MongoDB 产品。 Morphia 被安置在一个新的 github organization 下,并且正在尽我所能维持积极的发展。 2.0 越来越接近,聚合是此时的主要障碍,在较小程度上,地理支持。我已经推送了一个 ALPHA 或 2,并且一旦 agg 框架是 "done."
  4. 就会有一个新的