Jun*_*une 4 heroku mongodb seeding node.js mlab
我有一个MongoDB的节点表达应用程序作为数据库.我想有一个seed.js文件,我可以运行它来填充数据库的初始数据.我在当地的机器上做这个没问题.我只是在我的seed.js文件中编写mongo命令并运行它:
$ mongo localhost:27017/myApp seed.js
Run Code Online (Sandbox Code Playgroud)
但是,当我将我的应用程序部署到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
Run Code Online (Sandbox Code Playgroud)
这里有完整的答案如何使用mongo命令为部署到Heroku的应用程序运行seed.js文件,这要归功于pneumee和hunterloftis:
$ heroku config在app目录中运行来获取您的MONGOLAB_URIMONGOLAB_URI变量具有格式mongodb://user:pass@host:port/db.使用这些不同的部分将正确的终端命令粘在一起以运行seed.js文件:
$ mongo host:port/db -u user -p pass yourSeedFile.js
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
4316 次 |
| 最近记录: |