阅读postgres并使用expressjs中的数据

时间:2015-12-24 05:41:18

标签: json postgresql select express ejs

我使用pg node-module与postgres建立了联系。由于我是javascript的新手,我需要帮助我从数据库中读取数据并通过ejs模板显示它。 代码段:

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

  }); 

1 个答案:

答案 0 :(得分:0)

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');