sequelize的attributes选项(针对处理数据sql表的特定列)

本文介绍了sequelize ORM中如何使用attributes选项来处理SQL查询,包括选择特定列、重命名属性、执行聚合函数等。通过使用attributes,可以更加灵活地控制数据库查询返回的数据内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、要仅选择某些属性,可以使用该attributes选项。通常,您传递一个数组

Model.findAll({
  attributes: ['foo', 'bar']
});
//等同于 SELECT foo, bar ...

Model.findAll({
  attributes: ['foo', ['bar', 'baz']]
});
//等同于SELECT foo, bar AS baz

 2、可以使用嵌套数组重命名属性

Model.findAll({
  attributes: ['foo', ['bar', 'baz']]
});
//等同于SELECT foo, bar AS baz..

3、您可以sequelize.fn用来进行聚合:

Model.findAll({
 	attributes: [[sequelize.fn('COUNT', sequelize.col('hats')), 'no_hats']]
});
//等同于SELECT COUNT(hats) AS no_hats ...

4、使用聚合函数时,必须为其指定别名才能从模型中访问它。在上面的例子中,你可以得到帽子的数量instance.get(‘no_hats’)。有时,如果您只想添加聚合,列出模型的所有属性可能会很烦人:

// 这是计算帽子数量的一种令人厌烦的方法...
Model.findAll({
  attribu
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值