我使用mongodb 3.0作为数据库运行(keystonejs)webapp。我克隆了webapp并使用3.2 mongodb版本运行第二个实例(在生成的但是空的数据库上)。我现在需要做的是从第一个数据库获取数据到第二个数据库。由于mongodb 3.2使用不同的默认存储引擎WiredTiger,因此克隆使用该引擎。然而,原始应用程序使用MMAPv1。有没有一种简单的方法可以将MMAPv1创建的数据迁移到WiredTiger?
答案 0 :(得分:3)
使用mongodump
在旧服务器上创建数据库备份,使用mongorestore
将其恢复为新数据库。它在文档中得到了很好的介绍。
https://docs.mongodb.org/manual/tutorial/change-standalone-wiredtiger/
答案 1 :(得分:3)
您可以创建副本集并向其添加新计算机。这样,您将获得有关较新服务器的最新数据。复制结束后,将新计算机切换到主计算机并根据需要关闭旧服务器。这样,您可以轻松地将现有数据克隆到wiredTiger,而不会丢失数据或对现有应用程序产生负面影响。