在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&#x7684;mongo:listmongo: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