使用 sequelize 查询编码的地方进行计数
count with where query to code by use sequelize
我想通过使用 sequelize 将此查询更改为代码,node.js 取决于位置
select COUNT(gender) as genderCount from customers where gender = "male"
但我不知道如何添加
原代码:
Customer.findAll({
attributes: {
include: [[Sequelize.fn("COUNT", Sequelize.col("gender")), "genderCount"]] }
}).then(data => {
res.send(data)
})
我通过查询解决了它:
select COUNT(gender) as genderCount from customers where gender = "male"
编码续集:
await Customer.findAll({
attributes: {
include: [[Sequelize.fn("COUNT", Sequelize.col('gender')), "genderCount"]] ,
},
where:[{"gender":'male'}]
}).then(data => {
res.send(data)
})
对于"sequelize": "^5.21.3"
:
选项 1.
const customers = await Customer.findAll({
attributes: [[Sequelize.fn('COUNT', Sequelize.col('gender')), 'genderCount']],
where: {
gender: 'male',
},
raw: true,
});
执行结果:
Executing (default): SELECT COUNT("gender") AS "genderCount" FROM "customers" AS "Customer" WHERE "Customer"."gender" = 'male';
[ { genderCount: '3' } ]
选项2。您可以使用Model.count()。
Count the number of records matching the provided where clause.
const customers = await Customer.count({ col: 'gender', where: { gender: 'male' } });
执行结果:
Executing (default): SELECT count("gender") AS "count" FROM "customers" AS "Customer" WHERE "Customer"."gender" = 'male';
以上例子基于数据库中的数据记录:
我想通过使用 sequelize 将此查询更改为代码,node.js 取决于位置
select COUNT(gender) as genderCount from customers where gender = "male"
但我不知道如何添加
原代码:
Customer.findAll({
attributes: {
include: [[Sequelize.fn("COUNT", Sequelize.col("gender")), "genderCount"]] }
}).then(data => {
res.send(data)
})
我通过查询解决了它:
select COUNT(gender) as genderCount from customers where gender = "male"
编码续集:
await Customer.findAll({
attributes: {
include: [[Sequelize.fn("COUNT", Sequelize.col('gender')), "genderCount"]] ,
},
where:[{"gender":'male'}]
}).then(data => {
res.send(data)
})
对于"sequelize": "^5.21.3"
:
选项 1.
const customers = await Customer.findAll({
attributes: [[Sequelize.fn('COUNT', Sequelize.col('gender')), 'genderCount']],
where: {
gender: 'male',
},
raw: true,
});
执行结果:
Executing (default): SELECT COUNT("gender") AS "genderCount" FROM "customers" AS "Customer" WHERE "Customer"."gender" = 'male';
[ { genderCount: '3' } ]
选项2。您可以使用Model.count()。
Count the number of records matching the provided where clause.
const customers = await Customer.count({ col: 'gender', where: { gender: 'male' } });
执行结果:
Executing (default): SELECT count("gender") AS "count" FROM "customers" AS "Customer" WHERE "Customer"."gender" = 'male';
以上例子基于数据库中的数据记录: