我在使用Dokku的Ubuntu服務器上最近部署了一個應用程序。這是一個包含Mongodb數據庫的Node.js應用程序。在Dokku安裝中導入並添加索引到mongodb
爲了使網站正常工作,我需要在數據庫中加載geojson文件。在我的開發機器上,這是使用mongoimport命令從ubuntu命令行完成的。我不知道如何在Dokku中做到這一點。
我還需要添加一個地理空間索引。這是從我的開發機器上的mongo控制檯完成的。我也不知道如何在Dokku安裝上做到這一點。
我在使用Dokku的Ubuntu服務器上最近部署了一個應用程序。這是一個包含Mongodb數據庫的Node.js應用程序。在Dokku安裝中導入並添加索引到mongodb
爲了使網站正常工作,我需要在數據庫中加載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將重新創建mongodump記錄索引。
您可以從開發機器到Dokku數據庫執行這兩個命令。
非常感謝@Jonathan。你幫我解決了這個問題。這是我做的。
我在本地機器上使用了mongodump
來創建數據庫的備份文件。它默認爲一個.bson文件。
我將該文件上傳到我的遠程服務器。在遠程服務器上,我把bson文件放在一個名爲「dump」的文件夾中。然後塗抹該文件夾。我最初習慣於使用-z標誌,但是mongo/dokku不喜歡gzip。所以我用焦油,無壓縮,像這樣:
tar -cvf dump.tar dump
下一個我跑了dokku蒙戈導入命令:
$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
該訣竅。我的網站立即擁有所有數據。
導入效果很好,但因爲你mentionned蒙戈控制檯,它很高興知道,你還可以連接到您的蒙戈例如,如果你使用https://github.com/dokku/dokku-mongo的mongo:list
和mongo:connect
...
如:
[email protected]:~# dokku mongo:list
NAME VERSION STATUS EXPOSED PORTS LINKS
mydb mongo:3.2.1 running 1->2->3->4->5 mydb
[email protected]:~# dokku mongo:connect mydb
MongoDB shell version: 3.2.1
connecting to: mydb
> db
mydb
Mongo shell!
> exit
bye
我無法弄清楚如何直接訪問mongo數據庫。 從我的本地機器使用mongodump生成轉儲文件。我嘗試使用dokku mongo工具,但它不喜歡我的bson文件。 這裏是我試過的命令: '$ dokku蒙戈:進口mongo_claims
ngust
另外我試圖tar tar文件,但它仍然無法正常工作。 '$ dokku mongo:import mongo_claims
ngust
將您的bson移動到命名爲dump的文件夾並tar此文件夾 –