如何将对象作为数据类型传递给 sequilize 中的数据模型?
我需要传递一些不是原始数据类型的东西.
I need to pass something that is not a primitive to the data type.
我正在构造这样的东西来发送到 create 方法:
I am constructing something like this to send to the create method:
const p2 = {
location_model: {
latitude: lat,
longitude: lng
},
establishment_id: createdEstablishment.id
}
如您所见,integer_id 是 Integer 类型,但 location_model 是一个对象
As you can see the establishment_id is of type Integer but the location_model is an object
这是我的模特
module.exports = {
up: (queryInterface, DataTypes) => {
return queryInterface.createTable('EstablishmentLocation', {
location_model: {
type: // need some datatype that accept's an object of that type
allowNull: false,
references: {
model: 'Location',
key: 'id',
},
},
establishment_id: {
type: DataTypes.INTEGER,
allowNull: false,
references: {
model: 'Establishment',
key: 'id',
},
},
createdAt: {
allowNull: false,
type: DataTypes.STRING,
defaultValue: DataTypes.STRING,
},
updatedAt: {
allowNull: false,
type: DataTypes.STRING,
defaultValue: DataTypes.STRING,
}
});
},
down: (queryInterface) => {
return queryInterface.dropTable('EstablishmentLocation');
}
};
我的问题是,如何在 sequilize 中将对象传递给数据类型?
My question is, how can I pass an object to a data type in sequilize?
推荐答案
您在模型中提供的 type
是您使用的数据库中定义的类型.如果你使用 postgresql
,你可以使用 DataTypes.JSON
作为类型.
The type
you provide in the model are the types defined in the database you use. If you are using postgresql
, you can use DataTypes.JSON
as the type.
如果没有,要保存对象,您可以JSON.stringify
对象并将其作为字符串传递.
If not, to save object, you can JSON.stringify
the object and pass it as a string.
相关文章