当result.rows是[]时,我该如何测试呢?

时间:2014-01-20 15:53:31

标签: node.js postgresql express

所以我有一个关于什么时候结果是[]的问题。我使用express,nodejs和postgresql来创建REST QPI。现在,我的问题是。当result.rows是[]时,这是否意味着为空?我尝试过“if(result == null)”,但这似乎也没有用。谢谢你的帮助!

client.query("select waiter_id from students", function(err, result){
    if(err){
        res.json({success: false, msg: "error"});
    }
    console.log(result);
    console.log(result.rows);

1 个答案:

答案 0 :(得分:0)

这是一个空数组,因此您必须检查length属性

if (result.length === 0)

if (!result.length)     

有时检查是否首先返回数组以避免错误

会很有用
if (Array.isArray(result ) && result.length) {
     // It's an array, and it has content
} else {
     // It's either not an array at all, or it's empty
}