【发布时间】:2018-02-21 19:34:48
【问题描述】:
我正在使用 Nodejs、Express、Postgresql 和 Sequelize
我有 4 个模型
帐户(有很多书)
书(有很多部分)
- 部分(有很多章节)
- 章节
我要退回一本书,其中包括“部分”和“章节”以及一些特定的顺序 - 这很好用。
“章节”模型有一个“主题”列,我只想包含“章节”模型中具有不同“主题”的行。
如何通过这种嵌套的包含结构将 distinct 应用到这个“章节”模型?
代码sn-p:
return Book
.findOne({
where: {accountid: req.body.accountid,
id: req.body.bookid},
include: [{
model: Part,
as: 'parts'
include: [
{
model: Chapter,
required: false,
as: 'chapters',
where: {
createdAt: {
$gte: moment().subtract(24,'hours').format()
}
}
}],
}],
order: [
[
{ model: Part, as: 'parts' },
'createdAt',
'DESC'
],
[
{ model: Part, as: 'parts' },
{ model: Chapter, as: 'chapters' },
'createdAt',
'DESC'
]
]
})
.then(book => res.status(200).send(book))
.catch(error => res.status(400).send(error.toString()));
}
【问题讨论】:
标签: node.js postgresql sequelize.js