我想使用mongorestore在mongoDB中加载数据/恢复转储数据。我正在尝试命令
mongorestore dump
但它给了我错误
Sat Sep 21 16:12:33.403 JavaScript execution failed: SyntaxError: Unexpected identifier
我们如何将数据恢复或放入mongoDB?请给我一些步骤。
答案 0 :(得分:30)
<强> 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实例。
答案 1 :(得分:12)
通过 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导入单个集合[第一列将被视为列/密钥名称]
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
答案 2 :(得分:11)
该目录应命名为“dump”,该目录应包含一个包含.bson和.json文件的目录。该目录应命名为您的数据库名称。
例如:如果您的数据库名称是机构,那么第二个目录名称应该是机构。
完成此步骤后,转到终端中包含dump文件夹的目录,然后运行命令
mongorestore --drop。
确保mongo正常运行。
这应该可以正常工作。
答案 3 :(得分:2)
答案 4 :(得分:2)
对于mongoDB数据库还原,请在此处使用此命令
mongorestore --db databasename --drop dump file path
答案 5 :(得分:1)
您可以使用以下命令将转储到本地计算机:
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>
答案 6 :(得分:1)
要还原单个数据库:
1. Backup the 'users' database
$ mongodump --db users
2. Restore the 'users' database to a new database called 'users2'
$ mongorestore --db users2 dump/users
答案 7 :(得分:1)
您还可以将下载的Atlas Backup .wt
WiredTiger文件(作为restore
文件夹解压缩或解压缩)恢复到本地MongoDB。
首先,备份您的/data/db
路径。称为/data_20200407/db
。其次,将Atlas Backup还原文件夹中的所有.wt
文件复制粘贴到本地/data/db
路径中。重新启动您的Ubuntu或MongoDB服务器。启动您的Mongo Shell,您应该在那里有那些还原的文件。
答案 8 :(得分:0)
我遇到了很多麻烦,所以我想出了自己的解决方案,创建了这个脚本,只需在脚本和db name中设置路径并运行它,就可以解决问题
#!/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
答案 9 :(得分:0)
mongodump --host test.mongodb.net --port 27017 --db --username --password --authentication数据库管理员--ssl --out
mongorestore --db --verbose
答案 10 :(得分:0)
遵循此路径。
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
答案 11 :(得分:0)
如果你可以删除现有的集合,那么下面的命令对我来说很好。
$ 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
如果您的数据库在没有身份验证的情况下在本地主机上的默认端口上运行,那么以下将起作用。
$ mongorestore -v --gzip --archive=restorefile.gzip --drop
更多详情 - mongorestore
答案 12 :(得分:-1)
对于mongoDB数据库还原,请在此处使用此命令。 首先转到您的mongodb数据库位置,例如 例如 : cd下载/ blank_db / v34000 之后输入mongorestore -d v34000 ./