Mongodump和mongorestore; 字段未找到

dzm*_*dzm 6 database mongodb

我正在尝试从另一台服务器转储数据库(这很好),然后在新服务器上恢复它(这不能正常工作).

我先跑:

mongodump --host -d
Run Code Online (Sandbox Code Playgroud)

这将创建一个dump/db包含所有bson文档的文件夹.

然后在转储文件夹中,我正在运行:

mongorestore -d dbname db
Run Code Online (Sandbox Code Playgroud)

这可以工作并遍历文件,但是我得到了这个错误 dbname.system.users

Wed May 23 02:08:05 { key: { _id: 1 }, ns: "dbname.system.users", name: "_id_" }
Error creating index dbname.system.usersassertion: 13111 field not found, expected type 16
Run Code Online (Sandbox Code Playgroud)

任何想法如何解决这个问题?

小智 9

如果它真的不同版本,请使用--noIndexRestore选项.然后创建所有索引.


Ada*_*ord 7

源和目的地是否有不同的版本?

在任何情况下,要解决此问题,请使用-c标志单独还原集合到目标数据库,然后再构建索引.系统集合是用于索引的系统集合,因此它很容易重新创建 - 一旦其他所有内容都已恢复就会再次尝试,如果它仍然失败,您可以随时重新创建相关索引.