当我记录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);
});
})
答案 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
});