【发布时间】:2014-03-02 02:32:14
【问题描述】:
我有一个 MongoDB 连接调用导致 Heroku 应用程序崩溃..
我一直在编辑最初的 localHost 代码(运行良好)以与 Heroku MongoDb 插件(如 MongoLab)一起使用,但我如何让 someDBcollectionVariable 与 someDBcollectionVariable.find() 一起使用
//MongoDB
var mongodb = require('mongodb');
var db;
var MONGODB_URI = process.env.MONGOLAB_URI;
var PORT = process.env.PORT;
var testColl;
function dbConnect() {
return mongodb.MongoClient.connect(MONGODB_URI, function(err, database) {
if(err) throw err;
db = database;
var testColl = db.collection('test');
app.listen(PORT);
console.log('Listening on port ' + PORT);
return testColl;
});
}
//calls then look like
app.post('/add', function (req, res) {
testColl.insert(
{
"title" : req.body.title,
"quantity" : parseInt(req.body.quantity)
},
function (err, doc) {
getAll(res);
});
});
//and getAll looks like this
function getAll(res) {
testColl.find().sort( { value: 1 } ).toArray(function (err, docs) {
res.json({docs: docs});
});
}
在将代码移入 dbConnect() 之前,testColl.find.. 正在生成 ResponseError,因为连接代码在设置变量之前完成?
【问题讨论】:
标签: javascript node.js mongodb heroku express