如果没有结果,如何检查 node-postgres

How to check for node-postgres if no results

我很困惑如果没有记录,node-postgres postgres 数据库究竟返回了什么?

try {
  const {
    rows: [user]
  } = await pool.query(`SELECT * FROM "users" WHERE username =  LIMIT 1`, [
    username
  ]);

  console.log('user', user);

  if (!user || typeof username !== 'undefined') return false;

  return await bcrypt.compare(password, user.password);
} catch (e) {
  console.log(e);
}

如何检查是否没有用户结果

对于 SELECT 查询,pg.Result rows 是一个空数组 []rows.length === 0

rowCount === 0 也一样,但这在 INSERT/UPDATE 查询中可能会有所不同,它成为更新的行。