当我尝试计算 users 表中的用户数时,出现以下错误。连接已启动并正在运行,我可以获取其他数据,但该问题特定于计数。 id
是关系的主键。文档表明这是正确使用计数的方法。
错误
Unhandled rejection SequelizeDatabaseError: column "users.id" must appear in the GROUP BY clause or be used in an aggregate function
统计用户数
req.users.findAll({
attributes: { include: [[req.sequelize.fn('COUNT', req.sequelize.col('username')), 'users']] }
});
模型定义
req.users = sequelize.define("users", Users);
最佳答案
req.users.findAndCountAll()
是更好的选择。它返回一个
promise
和一个包含 rows
、 count
的对象。我是如何得到计数的
const count = await req.users.findAndCountAll().then(result => {
if (result.count > 0) throw new Error()
});
关于javascript - 如何计算关系中元组的数量(Sequelize),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61572118/