将条件视为原始的续集

时间:2015-03-03 11:12:06

标签: javascript node.js postgresql sequelize.js

我定义了一个模型。我想在该模型的postgres中进行高级选择查询。

原始查询如下所示:

SELECT
    6371 * acos(
        cos(
            radians("+CustomerLat+")
        ) * cos(radians(sto.lat)) * cos(
            radians(sto.lng) - radians("+CustomerLng+")
        ) + sin(
            radians("+CustomerLat+")
        ) * sin(radians(sto.lat))
    ) AS distance
FROM
    stores sto
ORDER BY
    distance ASC
LIMIT 1

我可以直接在模型上使用sequelize,而不是在raw中执行此操作吗?

Stores
.findAll()
.then(function(res){ //****// })

1 个答案:

答案 0 :(得分:0)

这个问题很老但是,我建议有两件事......首先,为什么不使用PostGIS一个postgresql扩展,这对于GIS数据来说是极好而快速的。其次..不!你不能这样做......但是对于高级 where子句条件,我建议将其与Knex.js原始查询构建器进行混合。您可以使用Knex.js构建 where子句,并将其与PostGIS混合以获得最佳效果。

相关问题