如何在mySQL的sequelize中定义和使用地理点

Mon*_*key 2 sequelize.js

我正在使用sequelize ORM连接到MYSQL数据库 - 如何在表/对象模型中定义地理POINT?由于sequelize没有POINT数据类型,我可以传入一个表示MYSQL类型的字符串吗?

db.define(modelName, {
    id: {
        type: Sequelize.INTEGER,
        primaryKey: true,
        autoIncrement: true,
        allowNull: false
    },
    location:{
        type:'POINT' //how would I define this??
    },
    createdBy: {
        type: Sequelize.INTEGER,
        references: {
            model: 'User',
            key: 'id'
        }
    },
    photoId: {
        type: Sequelize.UUID
    },
    caption: {
        type: Sequelize.STRING
    }
}
Run Code Online (Sandbox Code Playgroud)

Fes*_*sto 7

从3.4.0 Sequelize支持postgres几何.基于提交消息,还支持MySQL.

您可以添加如下新属性:

point: {
   type: Sequelize.GEOMETRY('POINT'),
},
Run Code Online (Sandbox Code Playgroud)

MySQL 支持的类型是:

var SUPPORTED_GEOMETRY_TYPES = ['POINT', 'LINESTRING', 'POLYGON'];
Run Code Online (Sandbox Code Playgroud)