我正在对我的代码
使用以下查询await to( mymodel.aggregate('cid', 'DISTINCT', {plain: false,where:{created_by:user.id}}));
控制台上显示的查询是
SELECT DISTINCT(`cid`) AS `DISTINCT` FROM `mymodel` AS `mymodel` WHERE `mymodel`.`created_by` = 7;
我得到的输出是
ids --------------- [ { DISTINCT: 9 }, { DISTINCT: 10 }, { DISTINCT: 11 } ]
我想将别名DISTINCT更改为id。我如何像下面这样
ids --------------- [ { id: 9 }, { id: 10 }, { id: 11 } ]
答案 0 :(得分:0)
我不认为.aggregate()
支持别名字段,但是将其转换为常规查询很简单。
await mymodel.findAll({
attributes: [ [ Sequelize.fn('DISTINCT', 'cid'), 'id' ] ],
where: { created_by: user.id }
});
在这里,我们利用Sequelize.fn()
在DISTINCT
上创建cid
,并使用array属性符号将其别名为id
。有关此here的更多信息。