我正在尝试在地图上插入通过用户选择获得的多边形数据(lat-longs)。
我的续集表字段是 -
"use strict";
var Sequelize = require("sequelize");
module.exports = function(sequelize, DataTypes) {
var MapData = sequelize.define("MapData ", {
mapDataId: {
type: DataTypes.INTEGER,
autoIncrement: true,
primaryKey : true
},
mySelection: {
type: 'Polygon',
allowNull: true
},
createdByUserId: {
type: DataTypes.INTEGER,
allowNull : false
},
createdDate: {
type: DataTypes.DATE,
allowNull : false
},
modifiedByUserId: {
type: DataTypes.INTEGER,
allowNull : false
},
modifiedDate: {
type: DataTypes.DATE,
allowNull : false
},
},
{
tableName:'MapData',
timestamps:false
});
return MapData ;
};
NodeJs服务器代码是
create:function(mapData, creatorId){
mapData.createdDate = new Date();
mapData.modifiedDate = new Date();
mapData.createdByUserId = creatorId;
mapData.modifiedByUserId = creatorId;
mapData.mySelection = { type: 'Polygon', coordinates: [
[ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0],
[100.0, 1.0], [100.0, 0.0] ]
]};
MapData.create(mapData) }
这不会插入表中。我提到了sequelize文档,但发现它令人困惑。请帮忙!
答案 0 :(得分:0)
自己没有这样做,但在阅读完文档后,你的mySelection类型错了。它应该是DataTypes.GEOMETRY
。 MySQL和Postgres仅支持GEOMETRY
类型和PostGIS模块。