我已经在服务器上使用mongodb命令导出了数据库,dump存储在.bson文件中。我需要使用mongorestore命令将其导入本地服务器。然而,它并没有工作。正确的mongorestore命令是什么?还有哪些恢复db的工具?


当前回答

在mongodb 3.0或以上版本中,我们可以指定数据库名进行恢复。假设您位于包含bson文件的根目录

./
a.bson
b.metadata.bson
...

剧本是这样的

for FILENAME in *; do mongorestore -d <db_name> -c "${FILENAME%.*}" $FILENAME; done

其他回答

我用过这个:

mongorestore -d databasename -c file.bson fullpath/file.bson

1.从属性中复制文件路径和文件名(尝试将所有bson文件放在不同的文件夹中), 2.反复使用此方法只更改文件名。

在mongodb 3.0或以上版本中,我们可以指定数据库名进行恢复。假设您位于包含bson文件的根目录

./
a.bson
b.metadata.bson
...

剧本是这样的

for FILENAME in *; do mongorestore -d <db_name> -c "${FILENAME%.*}" $FILENAME; done

导入.bson文件非常简单:

mongorestore -d db_name -c collection_name /path/file.bson

在情况下仅为单一收集。试试这个:

mongorestore --drop -d db_name -c collection_name /path/file.bson

恢复mongodb导出的完整文件夹:

mongorestore -d db_name /path/

注意:如果您已启用身份验证,请使用以下语法:

mongorestore -u username --authenticationDatabase admin -d db_name -c collection_name /path/file.bson
bsondump collection.bson > collection.json

然后

mongoimport -d <dbname> -c <collection> < collection.json

从命令行运行以下命令,您应该在Mongo bin目录中。

Mongorestore -d db_name -c collection_name path/file.bson