相同的查询给出不同的结果(nodejs,postgres,日期)

我对postgresql和nodejs有问题。

我有以下查询:

SELECT
        COUNT(user_id),
        DATE(signed_up) AS date
FROM
        users
GROUP BY
        DATE(signed_up)

这是一个简单的查询,但是我没有得到正确的结果。

当我使用pgadmin中的查询工具执行此查询时,我得到正确的格式:

+--------+-------------------+
| count  | date              |
+--------+-------------------+
+ 2      | 2020-01-01        |
+--------+-------------------+

When I do the exact same query in node.js (using node-postgres), I get the following output.

+--------+------------------------------+
| count  | date                         |
+--------+------------------------------+
+ 2      | 2020-01-01T00:00:00Z         |
+--------+------------------------------+

signed_up字段是TIMESTAMP WITH TIMEZONE字段。

有什么可能是错的吗?

编辑:

我有以下格式的日期数组:

let array = ['2020-01-01', '2020-01-02', ...]

我遍历查询结果

let index
dates.forEach(item => {
    index = result.rows.findIndex(e => e.date === item)
    // because the array is in the format 'YYYY-MM-DD' and the 
    // results are in the format 'YYYY-MM-DDTHH:MM:SSZ', there is no match, 
    // so every index will be -1.
})

我正在尝试检查查询结果中是否存在数组中定义的日期。那就是我想做的。

评论