【问题标题】:Reading from postgres and using data in expressjs从 postgres 读取并在 expressjs 中使用数据
【发布时间】:2016-03-30 14:32:51
【问题描述】:

我使用 pg 节点模块与 postgres 建立了工作连接。由于我是 javascript 新手,我需要帮助我从数据库中读取数据并通过 ejs 模板显示它。 代码sn-p:

ws.post('/select',function(req,res){
var vill = req.body.Inputvillage;
pg.connect(conString,function(err,client,done){
if(err){
return console.error('Could not connect to postgres' , err);
}
var results = [];
var query = client.query("SELECT * FROM  \"Area_info\" WHERE \"Folder_Name\" = $1",[vill],function(err,result){
query.on('row', function(row) {
        results.push(row);
    });
query.on('end', function() {
        done();
        return res.json(results);
    });  
  });

  }); 

【问题讨论】:

    标签: json postgresql select express ejs


    【解决方案1】:
    var query = client.query("SELECT * FROM  \"Area_info\" WHERE \"Folder_Name\" = $1",[vill],function(err,result){
    query.on('row', function(row) {
            results.push(row);
        });
    query.on('end', function() {
            done();
    
    view_data = JSON.stringify(results);
    //        return res.json(results);
         res.render('template',{ view_data:'view_data');   // here template is the name of your ejs file
    
        });  
      });
    

    之后,您可以在您的 ejs 文件中使用:

    <select style="width:15%;" required="required" name="categ" >
                                      <option style="width:15%;" value="">Select Category</option>
                                      <% for(var d=0;d<view_data.length;d++)
                                        {  %>
                                      <option style="width:20%;" name="category" value=<%= view_data[d].name %>><%= view_data[d].name %></option>
                                      <% } %>
                                    </select> 
    

    此处名称假设您的列名。

    别忘了在你的主文件中设置:app.set('view engine', 'ejs');

    【讨论】:

    • 这里的 doc[] 是什么..??
    • 顺便说一句..console.log(view_data) 也返回未定义。
    • 我使用 mongoDB 执行此操作,因此不需要将其解析为 json。您的查询是否返回数据
    • 现在试试我做了一些改变。
    • 嘿,如果使用 stringify,我将无法访问键值。 var 可被模板访问,但不能被键值对访问。我只能将整个 json 显示为字符串
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-28
    • 1970-01-01
    • 2021-03-08
    • 1970-01-01
    • 2017-12-28
    • 1970-01-01
    相关资源
    最近更新 更多