如何在node.js应用程序中使用nano共享Cloudant数据库连接

时间:2014-07-11 16:43:59

标签: node.js cloudant

我正在寻找有关如何使用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时,我都会建立与数据库的连接,但我宁愿连接一次并共享该连接。有推荐的方法吗?

1 个答案:

答案 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);
    }
  });
}