在MySQL中使用sequelize.js。 假设我有一个包含这些列的表:
id: number (PK)
name: string
isRead: boolean
createdAt: Date
我正在寻找一种构建seqeulize选项对象的方法,以表示将完成以下任务的SQL查询:
如果有30多个未读行,请把所有这些行带给我,并按createdAt降序排列。 否则,只要带给我最新的30行,而与isRead无关(以createdAt降序排列)。
使用seqeulize甚至可能吗?很想获得正确方向的提示,因为我的搜索和序列化文档不会产生任何结果。
答案 0 :(得分:0)
您可以这样做,
Project.count({ where: {'isRead': 0 }).then(c => {
console.log("There are " + c + " projects!")
if(c > 30) return Project.findAll({order: [['createdAt', 'DESC']]});
else return Project.findAll({limit: 30, order: [['createdAt', 'DESC']]});
})