3

我正在使用 mongodb 3.0 作为数据库运行(keystonejs)webapp。我克隆了 webapp 并使用 3.2 mongodb 版本运行了第二个实例(在生成但为空的数据库上)。我现在需要做的是从第一个数据库中获取数据到第二个数据库。由于 mongodb 3.2 使用不同的默认存​​储引擎,即 WiredTiger,因此克隆使用该引擎。但是原始应用程序使用 MMAPv1。有没有一种简单的方法可以将 MMAPv1 创建的数据迁移到 WiredTiger?

4

2 回答 2

3

使用 在旧服务器上创建数据库备份,使用完成mongodump将其恢复到新服务器mongorestore。它在文档中得到了很好的介绍。

https://docs.mongodb.org/manual/tutorial/change-standalone-wiredtiger/

于 2016-02-07T11:12:48.820 回答
3

您可以创建副本集并向其中添加新机器。这样做,您将在较新的服务器上获得最新数据。复制结束后,如果需要,将新机器切换到主服务器并关闭旧服务器。通过这种方式,您可以轻松地将现有数据克隆到wiredTiger,而不会丢失数据或对现有应用程序产生负面影响。

于 2016-02-07T15:28:45.433 回答