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

take id from select query in pg promise

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

[匿名{

id: 23, 用户名:'vvv', 密码:'1', 描述:空, 降价:空, 姓氏:空, 图片:空, 计数器: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 =  ', 
 name).then(function(data) {
     console.log(data);
    console.log(data.id);
   }).catch(function(error) {

console.log(error);

 });
})

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

但在这种情况下,您很可能需要的是方法 oneOrNone,它使用行对象解析,或者 null 当 none 返回时:

db.oneOrNone('SELECT * FROM hairdressers where username = ', 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
  });