【问题标题】:How to check if Node Js query is empty or not?如何检查 Node Js 查询是否为空?
【发布时间】:2021-12-18 23:46:35
【问题描述】:

我一直在尝试检查结果查询是否为空,我已经研究了一段时间。下面的代码显示了我正在进行的查询以及我检查它是否为空的两种方法。

问题是只执行了一个块,而另一个即使应该执行也没有执行。

db.each(`SELECT category FROM categories WHERE category = ?`, [category], (err, res) => {
        
    if (res != {}) {
        console.log("Not Empty")
    }else{
        console.log(" Empty")
    }
}

在上述情况下,如果res 返回了某些内容,则执行 if 语句,否则不执行 else。

我也尝试过使用Objects.keys(res).lenght > 0,但还是没有。

你能帮我更好地理解这一点吗?我是 node JS 的新手。

【问题讨论】:

  • res 是一个数组,而不是一个对象。所以只需if (res.length != 0)
  • 当我console.log(typeof res) 它返回的对象类型不是数组

标签: javascript mysql node.js object


【解决方案1】:

就像 Barmar 说的那样,它是一个数组,您可以返回以便使用

if (res  && res.length > 0)

【讨论】:

  • 当我console.log(typeof res) 它返回对象类型而不是数组
  • 数组是对象。如果你做console.log(typeof [1, 2, 3]),你会看到什么。
  • 哦,好吧,我明白了。但是当我输入不在数据库中的数据时,else 部分仍然没有执行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-19
  • 1970-01-01
  • 2019-07-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多