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

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

我目前使用的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

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

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

using mongorestore to restore a 4.0 dump to 4.4 is not supported.
The reason for this is that collection options, index options,
and oplog entry formats can change between versions.
We do not test dump/restore from different versions so we cannot
guarantee that it will work correctly in all cases.
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版本或类型,将来需要变化时可以自由切换。
缺点:备份文件管理和额外的开发时间/精力。

相关问题