所以,我使用sequelize和一個mysql實例,並且我有這樣的層次結構:任務有n個圖像,還有n個元數據鍵值對。 我想根據userId任務列獲取所有圖像,然後根據日期將它們按'createdAt'列分組,因爲正常的groupby將是毫無意義的(沒有對象共享相同的日期時間)。我做了很多測試來嘗試分組,並且我最終使用了這個查詢,這給出了不好的結果(我有一個任務像11個圖像,並且它檢索到4個)。老實說,我不知道我做錯了什麼。你們中的任何人有什麼想法? 這是代碼片段:通過父屬性找到的天對象對查詢組進行按序排列
var userId = security.utils.getKeycloakSubject(req);
var where = {
userId: userId
};
db.image.findAll({
include: [{
model: db.task,
include: [{
model: db.metadata,
as: 'metadata'
}],
where: where
}],
group: [db.Sequelize.fn('DAY', db.Sequelize.col('image.createdAt'))]
}).then(function (images) {
return res.json(images);
}, function (error) {
return res.status(500).json(error);
})