Sequelize.js 如何使用sequelize和PostGIS按距离查询?

Sequelize.js 如何使用sequelize和PostGIS按距离查询?,sequelize.js,postgis,Sequelize.js,Postgis,我有一个地址模型(Sequelize),声明方式如下: var address = sequelize.define("address", { id: { type: DataTypes.INTEGER, autoIncrement: true, primaryKey: true }, coordinates: { type: DataTypes.GEOMETRY, allowNull: fa

我有一个地址模型(Sequelize),声明方式如下:

var address = sequelize.define("address", {
    id: {
        type: DataTypes.INTEGER,
        autoIncrement: true,
        primaryKey: true
    },
    coordinates: {
        type: DataTypes.GEOMETRY,
        allowNull: false
    },
    /* ... */
});
现在我正试图检索半径为25公里的所有地址:

const distance = models.sequelize.fn('ST_Distance', models.sequelize.col('coordinates'), city.coordinates);

return models.address.findAll({
    where: models.sequelize.where(distance, { $lte: 25000 })
});
这将转换为以下查询:

SELECT * FROM "addresses" AS "address" WHERE 
ST_Distance("coordinates", "type" = \'Point\' AND "coordinates" IN (41.544031, -8.426646))
<= \'25000\';
从“地址”中选择*作为“地址”,其中
(41.544031,-8.426646)中的ST_距离(“坐标”,“类型”=“点”和“坐标”)