使用mongodump/mongoexport将MongoDB数据迁移到新版本

sd2nnvve  于 2023-11-17  发布在  Go
关注(0)|答案(1)|浏览(349)

我目前使用的MongoDB版本是4.0。我想升级到6.0。根据官方文档,不能从4.0跳到6.0。必须遵循以下顺序:4.0 -> 4.2 -> 4.4 -> 5.0 -> 6.0
但这是一个漫长的过程。必须做4次测试,每次升级后一次。
所以,我想创建一个新的MongoDB 6.0示例,并将所有数据从旧示例迁移到新示例。
我遇到了以下实用程序:mongodumpmongoexport
mongoexport的问题:(找到了here

  1. Avoid using mongoimport and mongoexport for full instance production backups.
  2. They do not reliably preserve all rich BSON data types,
  3. because JSON can only represent a subset of the types supported by BSON.

字符串
Mongodump的问题:(找到了here

  1. using mongorestore to restore a 4.0 dump to 4.4 is not supported.
  2. The reason for this is that collection options, index options,
  3. and oplog entry formats can change between versions.
  4. We do not test dump/restore from different versions so we cannot
  5. guarantee that it will work correctly in all cases.
  6. Because of this, it is not officially supported.


是否有解决上述任何问题的方法?
我可以接受MongoDB在迁移过程中的停机。我只想传输数据。不想传输索引之类的东西,这些东西可以在传输完成后在新示例中构建。
这可能吗?这种方法有什么缺陷吗?我应该坚持使用4.0 -> 4.2 -> 4.4 -> 5.0 -> 6.0吗?
谢谢你,谢谢

ergxz8rk

ergxz8rk1#

好吧,我在同一个地方,有v4版本,需要升级。考虑到没有简单的方法来获得不涉及移植数据的升级路径,我将实现一个新的通用方法,我将创建一个控制台应用程序来推断/导入JSON中的所有DB数据,每个Collection都在自己的file.json中。
优点:我可以在未来将这些数据移植到任何DB,不再限于DB版本或类型,将来需要变化时可以自由切换。
缺点:备份文件管理和额外的开发时间/精力。

相关问题