如何从app.js文件将cloudant数据库数据发送到ejs模板

时间:2017-02-17 22:44:54

标签: node.js express ejs cloudant nano

我是nodejs的新手,我需要一些帮助。我是app.js文件,我使用nano驱动程序查询cloudantDB,代码如下:

var nano = require('nano')('localhost:3000'),
db   = nano.use('compania_cia')
result = ";

db.get('compania_cia', function(err, body) {
    if (!err) {
      result = body;

    }
});

我试过发送"结果"以这种方式联系视图:

app.get('/contact', function(req, res) {


    res.render('contact', { ct: req._csrfToken,result:result});
});

但是,当我运行我的应用程序时,我得到错误500.

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您的错误说明确实没有用,因为Web服务器可能会返回HTTP状态代码500的原因有很多。您是否检查过服务器日志?它应该包含您需要的信息。浏览你的couchdb / Cloudant特定代码片段有几个问题。将该代码保存到文件中并尝试在本地运行它(node blah.js)。如果您

,您应该能够快速识别并解决问题
  • 验证您是否在nano中将package.json包指定为依赖项(并在本地npm install nano进行了此测试)
  • 确保您的数据库网址格式和值正确
  • 验证代码中是否存在语法错误

列出的所有问题都是致命的,可能会导致您收到内部服务器错误。您的代码的更正版本可能如下所示:

 var nano = require('nano')('http://localhost:5984'),
 db = nano.use('mydatabase'),
 result = '';

 db.get('mydocumentid', function(err, body) {
  if(err) {
    console.log('Error: ' + JSON.stringify(err));   
  } 
  else {
    console.log('Body: ' + JSON.stringify(body));
  }
 });