pg-promise更新的行数

我正在使用pg-promise NodeJS模块。 在某个时候,我正在更新我的数据库的一个表。 我想知道查询有多less行已被更新,是否有可能?

以下是我的代码的一部分:

var queryText = "UPDATE public.mytable SET whatever = $1 WHERE criteria1=$2 AND criteria2=$3;", queryParam = [ value1, value2, value3 ]; postgres.none(queryText, queryParam) .then((value) => { // how can I know at this point how many rows have been updated resolve(result); }) .catch(err => { // it doesn't go here when zero row has been updated reject(err); }); 

谢谢!

       

网上收集的解决方案 "pg-promise更新的行数"

我是pg-promise的作者。 您需要通过方法result执行查询:

 db.result(query, values, r => r.rowCount) .then(count => { // count = number of rows affected (changed/deleted) by the query }) .catch(error => { }); 

PS您不需要在.catch里面使用resolve(result)或者在.catch里面reject(err) ,因为pg-promise的所有查询方法都已经返回了promise。