node.js pg查询返回的行数少于本机postgresql客户端

时间:2013-12-04 15:22:05

标签: node.js postgresql

我有一个SQL查询,在本机Postgresql客户端(psql,Navicat等)中运行时返回356行,但在我正在开发的node.js服务中运行时只返回214行。这是查询:

SELECT discs.id AS id, 
    discs.is_streamable AS is_streamable, 
    discs.updated_at AS updated_at, 
    albums.title AS album_title, 
    'https://www.slurpie.com/albums/' || albums.slug AS album_url, 
    artists.name AS main_artist, 
    genres.name AS genre, 
    albums.cover_remote_url AS album_art 
FROM discs 
JOIN albums 
ON albums.id = discs.album_id 
JOIN artists 
ON artists.id = albums.main_artist_id 
JOIN genres 
ON genres.id = albums.genre_id 
JOIN users 
ON users.id = discs.user_id 
WHERE users.authentication_token = 'itsasecret' 
ORDER BY main_artist

node.js服务正在使用restify和pg-query(尽管我已经使用底层的“pg”模块对其进行了测试,但结果相同)。

查看查询的输出,我发现查询在节点内部运行时遗漏的行之间没有任何相似之处(我认为列中的空值可能是非常大的,或者是非常大量的列数据,特殊字符等。)。

1 个答案:

答案 0 :(得分:1)

Yieldsfalsehood走上正轨。

事实证明,节点代码指向数据库的最新副本,类似得足以使它不是一个单独的数据库,但是过时的行数不同。< / p>

直到我注意到psql和节点应用程序返回的其中一行之间的差异很小,原因是我跳出来了。

Occams Razor FTW! :)