在Sequelize ORM中仅返回没有字段名称的数据

时间:2018-12-30 15:17:28

标签: javascript node.js sequelize.js

我正在使用Sequelize ORM从数据库中获取数据

.findAll({
    attributes: ['value'],
    where: {
        code: { [Op.like]: 'images_default_droplet_%' },
        is_published: 1
    }
})

它返回如下:

{"value":"data"}

我只能获取没有字段名称的数据吗?

返回我想要的样子:

{"data"}

1 个答案:

答案 0 :(得分:0)

否,{"data"}不是有效的JSON结构。您可以使用Array.map()将其转换为“数据”数组;将raw: true传递到findAll()将返回纯JSON对象数组,这比在将它们映射到所需值之前先转换为模型实例更有效。

const results = await Model.findAll({
  attributes: ['value'],
  where: {
    code: { [Op.like]: 'images_default_droplet_%' },
    is_published: 1
  },
  raw: true, // return array of plain JSON objects
});

// 'datas' is an array of ["data","data","data"...]
const datas = results.map((result) => result.value);