微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐