我的一個與sequelize最大的痛苦做findAndCountAll當量爲從根本上「分頁和計數」的聯想。sequelize:如何爲社團
使用findAndCountAll
對於一次性模型來說相當簡單,對於很多人來說有點痛苦,但完全不可能與多對多一起工作。
舉個例子,我有這麼多-to-many關聯建立,在那裏用戶可以屬於多個組:
const UserGroup = db.define('user_groups', {
})
User.belongsToMany(Group, {through: UserGroup})
Group.belongsToMany(User, {through: UserGroup})
讓所有用戶從一組是直接的:
user.getGroups().then....
但移植這findAndCountAll
只是似乎不相同的方式工作:
User.findAndCountAll({
include: [{model: Group,
through: UserGroup,
where: { groupId : group.id,
userId : {$ne: user.id}}
}],
limit: limit,
offset: offset, ...
這是行不通的,因爲它從where子句中Group
模型相關聯的密鑰。
我也試過:
User.findAndCountAll({
include: [{model: Group,
include: {
model: UserGroup,
where: { groupId : group.id,
userId : {$ne: user.id}}}
}],
limit: limit,
offset: offset, ...
,但它也將失敗,與Error: user_groups is not associated to groups!
,這是不是真的。
有沒有乾淨的方式來做到這一點,最好的輔助方法?