从pg promise中的select查询中获取id

时间:2018-01-06 20:00:16

标签: javascript arrays express pg-promise

当我记录data.id时,结果是未定义的 当我记录数据时,结果是

[匿名{

id:23,    用户名:' vvv',    密码:' 1',    描述:null,    cutprice:null,    salname:null,    图像:null,    计数器:0} ]

app.post('/api/hairdresser/signin', (req, res) => {
 console.log(req.body)
  connection.connect();
 var name = req.body.name;
 var password = req.body.password
  db.any('SELECT * FROM hairdressers where username = $1 ', 
 name).then(function(data) {
     console.log(data);
    console.log(data.id);
   }).catch(function(error) {

console.log(error);

 });
})

1 个答案:

答案 0 :(得分:2)

记录方法any以解析行数组,因此data[0].id是您要查找的值。

在这种情况下,您最需要的是方法oneOrNone,它是用行对象解析的,或null当没有返回时:

db.oneOrNone('SELECT * FROM hairdressers where username = $1', name)
  .then(data => {
     // data = row object, or null when user not found;
     console.log(data && data.id);
  })
  .catch(error => {
      // more than 1 user found, or a different error
  });