在Dokku安装上导入并添加索引到mongodb

问题描述 投票:2回答:4

我在使用Dokku的Ubuntu服务器上安装了最近的应用程序。这是一个带有Mongodb数据库的Node.js应用程序。

为了使网站正常工作,我需要在数据库中加载geojson文件。在我的开发机器上,这是使用mongoimport命令从ubuntu命令行完成的。我无法弄清楚如何在Dokku中这样做。

我还需要添加地理空间索引。这是从我的开发机器上的mongo控制台完成的。我也无法弄清楚如何在Dokku安装上做到这一点。

node.js mongodb dokku
4个回答
3
投票

mongodump将从现有数据库导出所有数据+索引。 https://docs.mongodb.org/manual/reference/program/mongodump/

然后mongorestore将使用索引将mongodump恢复到现有数据库。 https://docs.mongodb.org/manual/reference/program/mongorestore/

mongorestore重新创建mongodump记录的索引。

您可以从dev机器到Dokku数据库执行这两个命令。


4
投票

非常感谢@Jonathan。你帮我解决了这个问题。这就是我做的。

我在本地机器上使用mongodump来创建数据库的备份文件。它默认为.bson文件。

我将该文件上传到我的远程服务器。在远程服务器上,我将bson文件放在名为“dump”的文件夹中。然后涂焦那个文件夹。我最初习惯使用-z标志,但mongo / dokku不喜欢gzip。所以我使用了没有压缩的tar,如下所示:

tar -cvf dump.tar dump

接下来我运行了dokku mongo import命令:

$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

这就是诀窍。我的网站立即获得了所有数据。


0
投票

导入效果很好,但是既然你提到了mongo控制台,很高兴知道如果你使用https://github.com/dokku/dokku-mongomongo:listmongo:connect你也可以连接你的Mongo实例...

Ef。:

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

0
投票

どっr v v 0. 5. 0 + + dくくv v 1. 7 0 +

使用mongodump将数据导出到存档中:

mongodump --db mydb --gzip --archive=mydb.archive

使用dokku:import从存档中导入数据

dokku mongo:import mydb < mydb.archive
© www.soinside.com 2019 - 2024. All rights reserved.