MongoDB恢复失败

use*_*986 8 mongodb mongorestore

我正在尝试从Ubuntu 14.04.2中的转储恢复mongodb数据库,转储是在MongoDB shell版本:2.4.13上创建的,我正在恢复MongoDB shell版本:3.0.1.

这是我正在运行的命令以及我得到的错误.

mongorestore/home/somename/backups/staging/mongo

2015-04-01T12:12:32.886 + 0200构建要从/ home/somename/backups/staging/mongo dir恢复的dbs和集合列表

2015-04-01T12:12:32.896 + 0200假设转储目录中的用户来自<= 2.4(auth版本1)

2015-04-01T12:12:32.896 + 0200失败:转储中的用户和角色集合与目标服务器具有不兼容的auth版本:无法将auth版本1的用户恢复为auth版本5的服务器

有没有办法绕过它或修复?

任何帮助都感激不尽

Kho*_*hon 12

您可以通过将admin目录移出dump文件夹来解决此问题,然后重新运行mongorestore命令.

例如,如果你跑了

mongorestore --dir ~/path/to/mongodumpdir
Run Code Online (Sandbox Code Playgroud)

它失败了,那么你很可能admin在那里有一个文件夹.您可以将其移出,然后重新运行上面的命令.

我相信,特别是,这system.users.bson是导致问题的原因.由于mongo 2.x.x3.x.x添加和存储用户不同.

当然,旧mongodb中的用户将无法在新数据库中使用,但您可以随时手动将其添加回来.