我正在寻找有关如何使用node.js应用程序中的nano连接到Cloudant数据库的指导,以便可以重用连接。
现在我正在做的事似乎不合适。在app.js中我需要一个cloudant路由文件:
var cloudant = require('./routes/cloudant');
我设置了各种路线:
app.get('/person', cloudant.getperson);
然后在routes / cloudant.js中:
exports.getperson = function(req, res) {
var config = require('../config');
var nano = require("nano")(config.cloudant_url);
var db = nano.db.use(config.cloudant_db);
var personid = req.params.personid;
db.get(personid, function(err, body) {
if(err) {
res.send(500, err.message);
} else {
res.send(body);
}
});
}
因此,每次请求/ person / 123时,我都会建立与数据库的连接,但我宁愿连接一次并共享该连接。有推荐的方法吗?
答案 0 :(得分:0)
////////// Setup nano on app init////////////
var config = require('../config');
var nano = require("nano")(config.cloudant_url);
var db = nano.db.use(config.cloudant_db);
exports.getperson = function(req, res) {
var personid = req.params.personid;
db.get(personid, function(err, body) { // db will be accessible here, no need to reconnect
if(err) {
res.send(500, err.message);
} else {
res.send(body);
}
});
}