我必须从1 col获取值,该col目前将JSON存储为TEXT:
col1:{“class”:{“count”:3,“number”:25}}
所以当我使用sequlize orm选项时:
..attributes: ['id', 'col1']..
它返回值:
"{\"class\":{\"count\":3,\"number\":25}}"
我如何使用以下内容:
..attributes: ['id', sequelize.json('col1')]..
以JSON格式获取数据? 感谢
答案 0 :(得分:0)
我不了解sequelize.json
...
您可以在列上使用JSON.parse和getter。
sequelize.define('your_table', {
col1: {
type: DataTypes.TEXT,
get(val) { return JSON.parse(val) }
}
})
但Postgres(我认为MySQL,虽然我不会在续集文档中看到它)有JSON字段类型。他们会好得多。您可以在任意嵌套时通过键和值进行查询。您还可以创建索引。同样,它们可能只适用于Postgres。
sequelize.define('your_table', {
col1: {
type: DataTypes.JSONB,
}
})
答案 1 :(得分:0)
我猜你需要在数据库中进行查询查询时设置{raw: true}
。这将返回json对象