在Heroku上使用Mongo.db的Node.js应用程序
Node.js Application with Mongo.db on Heroku
我很难将node.js应用程序部署到Heroku,因为我的mongo.db数据库有问题。。
我在教程中看到了这种方法,我真的很喜欢它。它看起来很干净,位于config.js文件夹中,因此与实际应用程序分离。。
module.exports = {
development: {
root: rootPath,
db: 'mongodb://localhost/minidatabase'
},
test: {
root: rootPath,
db: 'mongodb://localhost/minidatabase'
},
staging: {
root: rootPath,
db: process.env.MONGOLAB_URI
},
production: {
root: rootPath,
db: process.env.MONGOLAB_URI
}
}
我在我的app.js文件中有这个
var env = process.env.NODE_ENV || 'development'
, config = require('./config/config')[env]
, mongoose = require('mongoose')
mongoose.connect(config.db)
当我用MONGOLAB_URI
更改config.js文件中开发对象中的mongodb://localhost/minidatabase
时,heroku运行良好,但这次我的本地服务器出现了问题。我想指定不同配置的全部目的并不是每次环境从开发切换到生产时都更改URI,但我的应用程序似乎一直处于生产模式。。
最好创建一个本地.env文件,并使用Foreman(与Heroku Toolbelt一起安装)启动应用程序。
您应该将其放在本地.env文件中:
DATABASE_URI=mongodb://localhost/minidatabase
并编辑您的源代码以将数据库引用为:
mongoose.connect(process.env.DATABASE_URI)
然后启动你的应用程序使用:
foreman start
如果你不知道如何安装工头,请查看https://toolbelt.herokuapp.com/此外,请记住运行以下命令以在Heroku中设置URI:
heroku config:set DATABASE_URI=[the mongolab URI goes here]
相关文章:
- Node.js v6.2.0类扩展不是函数错误
- 如何使用 node.js 比较两个 json 数组
- Node.js's Buffer.writeFloatBE in Javascript
- node.js:setInterval()正在跳过调用
- 如何处理node.js节点mongodb中的连接和查询队列
- Node.js正在更改应用程序以使用集群模块
- 如何使用Node.js最有效地解析网页
- 在openshift node js应用程序中获取请求
- 正在删除node.js中已验证的网站
- 与运行长作业(javascript,node.js)的第三方API同步的最佳实践
- 在索引.html和应用.js [node.js] 之间共享变量
- Node.js中的JavaScript原型对象效率
- node.js请求数据事件未在CORS ajax调用中触发
- 使用node.js制作网站
- 使用node.js服务器中的evernote api获取note内容
- 有没有任何方法可以使用node-js从不同的机器打开浏览器
- 使用CI和CodeDeploy对node.js应用程序进行连续部署
- 在Node.js中上传和检索图像
- 什么's本地node.js服务器和python简单http服务器之间的区别
- 如何使用 Node JS 获取 JSON 嵌套数组值