node.js – 如何为部署到Heroku的节点mongo app播种数据?

我有一个MongoDB的节点表达应用程序作为数据库.我想有一个seed.js文件,我可以运行它来填充数据库的初始数据.我在当地的机器上做这个没问题.我只是在我的seed.js文件中编写mongo命令并运行它:

$mongo localhost:27017/myApp seed.js

但是,当我将我的应用程序部署到Heroku(包括MongoLab)时,我不确定如何在那里播种数据.谷歌大部分时间都把我引向铁轨.

那么有没有一种简单的方法为Heroku MongoLab播种数据而无需编写脚本?

更新:
如果我尝试使用heroku的MONGOLAB_URI运行它,我会收到错误.

$mongo mongodb://heroku_xxxx:xxxxx.mongolab.com:xxx/heroku_xxxx seed.js 

MongoDB shell version: 3.0.5
connecting to: mongodb://heroku_xxxxxxxx
2015-08-19T21:44:22.694+0100 E QUERY    Error: More than one ':' detected. If this is an ipv6 address,it needs to be surrounded by '[' and ']'; heroku_xxxxxxxxxxxxx
    at connect (src/mongo/shell/mongo.js:181:14)
    at (connect):1:6 at src/mongo/shell/mongo.js:181
exception: connect Failed

解决方法

这里有完整的答案如何使用mongo命令为部署到Heroku的应用程序运行seed.js文件,这要归功于pneumee和hunterloftis:

>通过在app目录中运行$heroku config获取您的MONGOLAB_URI
> MONGOLAB_URI变量的格式为mongodb:// user:pass @ host:port / db.
使用这些不同的部分将正确的终端命令粘在一起以运行seed.js文件

$mongo host:port/db -u user -p pass yourSeedFile.js

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...