63

我想使用 mongorestore 在 mongoDB 中加载数据/恢复转储数据。我试图指挥

mongorestore dump

但它给了我错误

Sat Sep 21 16:12:33.403 JavaScript execution failed: SyntaxError: Unexpected identifier

我们如何恢复或将数据放入 mongoDB?请给我步骤。

4

14 回答 14

87

mongodump: 转储所有记录:

mongodump --db databasename

要限制数据库转储中包含的数据量,您可以指定 --db 和 --collection 作为 mongodump 的选项。例如:

mongodump --collection myCollection --db test

此操作从当前工作目录的 dump/ 子目录中的数据库“test”创建名为 myCollection 的集合的转储。注意:如果备份数据文件夹中存在输出文件,mongodump 会覆盖它们。


mongorestore: 将所有数据恢复到原始数据库:

1) mongorestore --verbose \path\dump

或恢复到新数据库:

2) mongorestore --db databasename --verbose \path\dump\<dumpfolder>

注意:两者都需要 mongod 实例。

于 2015-01-20T11:49:36.620 回答
45

通过mongodump转储数据库

mongodump --host <database-host> -d <database-name> --port <database-port> --out directory

通过mongorestore恢复数据库

使用索引还原

mongorestore --host <database-host> -d <database-name> --port <database-port> foldername

没有索引恢复

mongorestore --noIndexRestore --host <database-host> -d <database-name> --port <database-port> foldername

从 CSV 导入单个集合 [第一列将被视为 Col/Key 名称]

mongoimport --db <database-name> --port <database-port> --collection <collection-name> --type csv --headerline --file /path/to/myfile.csv

从 JSON 导入单个集合

mongoimport --db <database-name> --port <database-port> --collection <collection-name> --file input.json
于 2017-09-13T04:55:20.930 回答
16

要恢复单个数据库:

  1. 备份testdb数据库

    $ mongodump --db testdb
    
  2. testdb将数据库恢复到一个名为testdb2

    $ mongorestore --db testdb2 dump/testdb
    

要恢复所有数据库:

  1. 备份所有数据库

    $ mongodump
    
  2. 恢复所有数据库

    $ mongorestore dump
    
于 2019-07-05T19:58:56.567 回答
14

该目录应该命名为“dump”,并且该目录应该有一个包含 .bson 和 .json 文件的目录。该目录应命名为您的数据库名称。

例如:如果您的数据库名称是机构,那么第二个目录名称应该是机构。

完成此步骤后,转到终端中包含转储文件夹的目录,然后运行命令

mongorestore --drop。

请确保 mongo 已启动并运行。

这应该可以正常工作。

于 2014-01-14T06:17:07.423 回答
8

沿着这条路走。

C:\Program Files\MongoDB\Server\4.2\bin

在 bin 文件夹中运行 cmd 并粘贴以下命令

mongorestore --db <name-your-database-want-to-restore-as> <path-of-dumped-database>

例如:

mongorestore --db testDb D:\Documents\Dump\myDb
于 2019-12-16T08:45:52.820 回答
4
  1. 启动 mongod
  2. 导航到您在 OS shell 中提取“enron.zip”的文件夹(如果是 Windows,则为 cmd)
  3. 然后键入“>mongorestore -d your_db_name dump/enron”
于 2015-05-04T16:51:58.967 回答
4

您可以使用以下命令将转储到本地计算机:

mongodump -h <host>:<port> -u <username> -p <password> -d ubertower-new -o /path/to/destination/directory

您可以使用此命令从本地计算机恢复到 Mongo DB

mongorestore -h <host>:<port> -u <username> -p <password> -d <DBNAME> /path/to/destination/directory/<DBNAME>
于 2018-09-20T20:57:47.520 回答
3

对于 mongoDB 数据库还原,请在此处使用此命令

mongorestore --db databasename --drop dump file path
于 2018-10-03T12:12:06.713 回答
1

您还可以将下载的 Atlas Backup .wtWiredTiger 文件(解压缩或解压缩为restore文件夹)恢复到本地 MongoDB。

首先,备份您的/data/db路径。调用它/data_20200407/db。其次,将.wtAtlas Backup 还原文件夹中的所有文件复制粘贴到本地/data/db路径中。重新启动 Ubuntu 或 MongoDB 服务器。启动你的 Mongo shell,你应该在那里有那些恢复的文件。

于 2020-04-07T09:08:03.357 回答
1

如果您可以删除现有的集合,那么下面的命令对我来说很好。

  • 可以删除现有的集合
$ uri_complete="your_complete_uri"
$ restoreFileName="your_restore_filename"
$ mongorestore --uri=$uri_complete -v --gzip --archive=$restoreFileName --drop
  • 不可以删除现有的集合
$ uri_complete="your_complete_uri"
$ restoreFileName="your_restore_filename"
$ mongorestore --uri=$uri_complete -v --gzip --archive=$restoreFileName

如果您的数据库在默认端口上的 localhost 上运行而无需身份验证,则以下操作将起作用。

$ mongorestore -v --gzip --archive=restorefile.gzip --drop

更多细节 - mongorestore

于 2021-03-11T07:35:41.790 回答
0

我遇到了很多麻烦,所以我想出了自己的解决方案,我创建了这个脚本,只需在脚本中设置路径和数据库名称并运行它,它就可以解决问题

#!/bin/bash

FILES= #absolute or relative path to dump directory
DB=`db` #db name
for file in $FILES
do

    name=$(basename $file)
    collection="${name%.*}"
    echo `mongoimport --db "$DB" --file "$name" --collection "$collection"`

done
于 2019-05-01T14:02:03.933 回答
0

mongodump --host test.mongodb.net --port 27017 --db --username --password --authenticationDatabase admin --ssl --out

mongorestore --db --verbose

于 2019-06-10T05:44:03.527 回答
0

备份 MongoDb 集合的过程。

  1. 在 ProgramFiles 或 ProgramFiles32 中找到 MongoDb 文件夹。
  2. 导航到bin文件夹。找到这样的路径。C:\Program Files\MongoDB\Server\4.2\bin
  3. 让你必须安装 Mongo Dump Tools。 在此处输入图像描述
  4. 如果您没有找到任何此类工具,请通过此链接进行安装。MongDb 数据库工具
  5. 在 bin 文件夹中打开 CMD 或导航到 MongdDb Server Bin 文件夹。
  6. 运行此命令mongodump --db yourdatabasename。运行此命令后,转储创建过程将开始,它将在侧 bin 中创建一个 Dump 文件夹。

恢复过程

  1. 在 Mongdb Server bin 文件夹中打开 CMD 提示符。

  2. 之后运行此命令 **mongorestore --db mydababse --verbose

  3. D:\MongoDbBackup\mydababse\Dec28-21**(这是我存储备份集合的路径)。

  4. 有时 mongDb 还原程序需要文件夹权限才能还原。

于 2021-12-29T07:02:16.280 回答
-1

对于 mongoDB 数据库还原,请在此处使用此命令。首先转到您的 mongodb 数据库位置,例如: cd Downloads/blank_db/v34000 之后输入 mongorestore -d v34000 ./

于 2019-09-18T08:53:48.287 回答