簡體   English   中英

在sequelize中使用groupby來獲取分組項的數組

[英]Using groupby in sequelize to get an array of the grouped items

我正在使用sequelize (4.42.0)和express。 我有兩個表categoriesmain_categories具有以下關聯:

db.main_categories.hasMany(db.categories);
db.categories.belongsTo(db.main_categories);

我嘗試使用以下sequelize命令獲取在其主要類別下分組的所有類別的列表:

      var _categoryList = await models.main_categories.findAll({include: [{model: models.categories}], group:['main_categories.id']});
 res.send({category_list: _categoryList});

上述續集代碼的輸出是:

{
    "category_list": [
        {
            "id": 1,
            "name": "Physics",
            "created_at": null,
            "updated_at": null,
            "categories": [
                {
                    "id": 1,
                    "name": "Mechanics",
                    "created_at": "2019-03-21T03:39:48.000Z",
                    "updated_at": "2019-03-21T03:39:48.000Z",
                    "main_category_id": 1
                }
            ]
        },
        {
            "id": 2,
            "name": "Chemistry",
            "created_at": null,
            "updated_at": null,
            "categories": [
                {
                    "id": 6,
                    "name": "General and Physical Chemistry",
                    "created_at": "2019-03-21T03:42:54.000Z",
                    "updated_at": "2019-03-21T03:42:54.000Z",
                    "main_category_id": 2
                }
            ]
        },
        {
            "id": 3,
            "name": "Zoology",
            "created_at": null,
            "updated_at": null,
            "categories": []
        },
        {
            "id": 4,
            "name": "Botany",
            "created_at": null,
            "updated_at": null,
            "categories": []
        }
    ]
}

我的預期輸出是每個main_category中的categories數組將包含屬於同一主類別的所有類別的詳細信息,而不是上面輸出中顯示的一個類別。

我的main_categories表包含數據: 在此輸入圖像描述

我的數據表categories 在此輸入圖像描述

所以我后來發現,由於已經聲明了關聯,我們只需要包含沒有任何groupby子句的模型。 所以對我有用的最終代碼是:

var _categoryList = await models.main_categories.findAll({include: [{model: models.categories}]});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM