我已经使用mongorestore来恢复数据库,但是当我尝试运行我的应用程序时,我收到的错误是索引已经存在.
我知道函数db.collection.dropIndex()但是有没有办法自动执行此操作并立即从数据库中的所有集合中删除所有索引?
我试过了
db.getCollectionNames().forEach(function(col_name) {
var coll = db.getCollection(col_name);
coll.dropIndexes();
});
Run Code Online (Sandbox Code Playgroud)
但这并不能解决问题.有任何想法吗?
我正在按照本教程来备份和恢复单个MongoDB数据库.
备份命令 -
sudo mongodump --db newdb --out /var/backups/mongobackups/`date +"%m-%d-%y"`
Run Code Online (Sandbox Code Playgroud)
恢复命令 -
sudo mongorestore --db newdb --drop /var/backups/mongobackups/01-20-16/newdb/
Run Code Online (Sandbox Code Playgroud)
虽然它完美无缺,但MongoDB在恢复数据时给了我这个警告 -
只应在从BSON文件恢复时使用--db和--collection args.其他用途已弃用,将来不再存在; 请改用--nsInclude
有人可以解释如何删除此警告吗?
我正在使用MongoDB 3.4.1版本.
我正在尝试恢复使用创建的文件夹mongodump,我正在使用mongorestore.但是有一个错误:
断言:17370只有具有auth架构版本1或3的集群才支持恢复用户和角色,发现:5
如何解决此错误并成功恢复?
我收集了一个只有1个集合和两个索引的数据库.该系列大约有650万份文件.当我试图恢复它时,令我惊讶的是,这个过程非常缓慢.一些统计数据如下:
Wed Aug 14 12:34:08.346 Progress: 333818/1378309050 0% (bytes)
Wed Aug 14 12:34:11.077 Progress: 1530246/1378309050 0% (bytes)
Wed Aug 14 12:34:26.177 Progress: 2714544/1378309050 0% (bytes)
Wed Aug 14 12:34:30.145 Progress: 3355627/1378309050 0% (bytes)
Wed Aug 14 12:34:34.504 Progress: 3895668/1378309050 0% (bytes)
Wed Aug 14 12:34:53.246 Progress: 4334159/1378309050 0% (bytes)
Wed Aug 14 12:34:56.318 Progress: 4963878/1378309050 0% (bytes)
Wed Aug 14 12:34:59.545 Progress: 5617794/1378309050 0% (bytes)
Wed Aug 14 12:35:08.042 Progress: 6923804/1378309050 0% (bytes)
Wed Aug 14 12:35:16.424 Progress: 7342576/1378309050 …Run Code Online (Sandbox Code Playgroud) 我正在尝试从mongodb沙箱选项升级到共享群集,并且为了保留我当前的数据,我必须执行mongodump和mongorestore将旧数据迁移到新数据库.
这就是我在命令行中输入的内容.
mongorestore -h url:host -d heroku_zc -u heroku_zc -p 470grupv030prq5uj0fm mongo-dump-dir/heroku_9r
Run Code Online (Sandbox Code Playgroud)
它似乎一切正常并恢复所有数据条目,但在上传文件块时它会暂停.有时5%的ay通过有时20%的方式通过有时50%.
正如我所说,当我查看新数据库时,所有行都正确,并且只丢失了实际的数据文件.
这是终端中发生的事情,它不会发出错误,只是停止.
2017-02-09T15:45:20.509+0100 [#.......................] heroku_z25kbwmc.fs.chunks 15.8 MB/299.6 MB (5.3%)
2017-02-09T15:45:23.509+0100 [#.......................] heroku_z25kbwmc.fs.chunks 15.8 MB/299.6 MB (5.3%)
2017-02-09T15:45:26.510+0100 [#.......................] heroku_z25kbwmc.fs.chunks 15.8 MB/299.6 MB (5.3%)
Run Code Online (Sandbox Code Playgroud)
这两个db都是从heroku创建的,作为我的解析服务器的插件.
编辑:我也不知道这是不是一个问题,本地系统数据库说2.03GB.我不明白这是怎么回事,因为总数据库大小只有500mb
我正在尝试将 mongo 从本地迁移到阿特拉斯。我做了 mongodump,它正确地创建了 .z 存档。
但是,当我尝试像下面这样恢复时:
mongorestore --uri="mongodb+srv://<user>:<password>@xxxxx.ipmg6.mongodb.net/myDbName" --archive=mongodump_2021-05-22_09-05-44.gz --gzip
Run Code Online (Sandbox Code Playgroud)
我看到输出
2021-05-23T07:25:01.340+0200 The --db and --collection flags are deprecated for this use-case; please use --nsInclude instead, i.e. with --nsInclude=${DATABASE}.${COLLECTION}
2021-05-23T07:25:01.350+0200 preparing collections to restore from
2021-05-23T07:25:01.360+0200 0 document(s) restored successfully. 0 document(s) failed to restore.
Run Code Online (Sandbox Code Playgroud)
没有错误,但也没有处理任何文档。知道出了什么问题吗?我觉得 mongo 没有错误或警告?
我尝试从 atlas 恢复 mongo 备份文件。
它包含一些 wt 文件。如何恢复。
从 atlas 的每日快照下载备份。
提前致谢。
我正在尝试从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的服务器
有没有办法绕过它或修复?
任何帮助都感激不尽
我的客户使用mongoDB 2.4,因为这个版本有一些限制,我们给他们选择升级到最新的稳定的mongoDB 3.4.5.
在MongodDB 2.4中使用mongodump和在Mongodb 3.4.5中使用mongorestore的初步测试工作正常,因为我可以看到导入的所有集合.
从文档mongorestore中没有提到它可以从旧版本的mongoDB恢复转储.
由于我们不能使用mongorestore,我可以使用" mongoexport "以旧的mongoDB 2.4的csv/json格式导出数据,并导入更新版本的mongoDB 3.4吗?
使用"mongoexport/mongoimport"而不是"mongodump"升级到更新版本的mongoDB 3.4会有什么问题?
注意:我将完全删除旧版本的mongoDB,并将安装较新版本的mongoDB
我正在尝试使用mongorestoregzip文件恢复数据库.数据库大小约为89MB,gzip文件大约为4.4MB.
但是,还原将无限期挂起,并显示错误消息.我应该如何解决这个问题?
我运行的命令是:
mongorestore --gzip --archive ./my-db.gz --drop -u admin --authenticationDatabase admin --verbose=5
Run Code Online (Sandbox Code Playgroud)
因此响应如下:
2018-01-09T15:47:45.089+0100 standard input is a terminal; reading password from terminal
Enter password:
2018-01-09T15:47:46.508+0100 will listen for SIGTERM, SIGINT, and SIGKILL
2018-01-09T15:47:46.509+0100 checking options
2018-01-09T15:47:46.509+0100 dumping with object check disabled
2018-01-09T15:47:46.527+0100 connected to node type: standalone
2018-01-09T15:47:46.528+0100 standalone server: setting write concern w to 1
2018-01-09T15:47:46.528+0100 using write concern: w='1', j=false, fsync=false, wtimeout=0
Run Code Online (Sandbox Code Playgroud)
在这里,它永远停止.数据库已成功创建,但仍保持0b大小.
奇怪的是,MongoDB Compass中的数据库概述显示了数据库中具有~28k文档的单个集合,这正是我所期望的,平均大小和其他元数据显然是正确的,但没有任何东西可以读取.
我已从实时集群中导出数据库,并尝试导入到我的本地开发环境,通过Docker运行单个实例.
我应该从哪里出发?
谢谢.
mongodb ×10
mongorestore ×10
mongodump ×5
backup ×1
heroku ×1
indexing ×1
mongo-shell ×1
ubuntu ×1