在Dokku安装中导入并添加索引到mongodb
我有一个使用Dokku的Ubuntu服务器上最近部署的应用程序。 这是一个包含Mongodb数据库的Node.js应用程序。
为了使网站正常工作,我需要在数据库中加载geojson文件。 在我的开发机器上,这是使用mongoimport命令从ubuntu命令行完成的。 我不知道如何在Dokku做到这一点。
我还需要添加一个地理空间索引。 这是从我的开发机器上的mongo控制台完成的。 我也无法弄清楚如何在Dokku上安装。
mongodump
将会从现有的数据库中导出所有的数据+索引。 https://docs.mongodb.org/manual/reference/program/mongodump/
然后mongorestore
将恢复一个带有索引的mongodump到一个现有的数据库。 https://docs.mongodb.org/manual/reference/program/mongorestore/
mongorestore重新创build了由mongodumplogging的索引。
你可以从开发机器到Dokku数据库执行这两个命令。
非常感谢@Jonathan。 你帮我解决了这个问题。 这是我做的。
我在本地机器上使用了mongodump
来创build数据库的备份文件。 它默认为.bson文件。
我把这个file upload到我的远程服务器。 在远程服务器上,我把bson文件放在一个名为“dump”的文件夹中。 然后涂抹该文件夹。 我最初习惯使用-z标志,但是mongo / dokku不喜欢gzip。 所以我用焦油没有像这样的压缩:
tar -cvf dump.tar dump
接下来我运行了dokku mongo导入命令:
$dokku mongo:import mongo_claims < dump.tar 2016-03-05T18:04:17.255+0000 building a list of collections to restore from /tmp/tmp.6S378QKhJR/dump dir 2016-03-05T18:04:17.270+0000 restoring mongo_claims.docs4 from /tmp/tmp.6S378QKhJR/dump/docs4.bson 2016-03-05T18:04:20.729+0000 [############............] mongo_claims.docs4 22.3 MB/44.2 MB (50.3%) 2016-03-05T18:04:22.821+0000 [########################] mongo_claims.docs4 44.2 MB/44.2 MB (100.0%) 2016-03-05T18:04:22.822+0000 no indexes to restore 2016-03-05T18:04:22.897+0000 finished restoring mongo_claims.docs4 (41512 documents) 2016-03-05T18:04:22.897+0000 done
那就是诀窍。 我的网站立即拥有了所有的数据。
导入工作正常,但是由于您提到了mongo控制台,所以如果您使用https://github.com/dokku/dokku-mongo的mongo:list
和mongo:connect
,您也可以连接到Mongo实例。 ..
例如:
root@somewhere:~# dokku mongo:list NAME VERSION STATUS EXPOSED PORTS LINKS mydb mongo:3.2.1 running 1->2->3->4->5 mydb root@somewhere:~# dokku mongo:connect mydb MongoDB shell version: 3.2.1 connecting to: mydb > db mydb Mongo shell! > exit bye