javascript - 在 Sequelize ORM 中只返回没有字段名的数据

标签 javascript node.js sequelize.js

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

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

它像这样返回:
{"value":"data"}

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

返回我想要的:
{"data"}

最佳答案

不,{"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);

关于javascript - 在 Sequelize ORM 中只返回没有字段名的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53978802/

相关文章:

javascript - ASCII 到键码转换器

node.js - 递归 promise

node.js - Node child_process 中的奇怪管道行为?

json - Angular:使用两个服务从一个组件添加数据时出现问题

javascript - Sequelize如何使用关联表?

javascript - 如何将数组中的对象分配给箭头函数?

javascript - 将数组中的用户注册信息与用户登录输入进行比较

javascript - 如何修复 NODEJS 的错误消息问题

sql-server - 如何在Sequelize中匹配include中的唯一键和外键而不是主键和外键

javascript - 如何在开关内显示警报