【问题标题】:Sequelize - Select on associated tableSequelize - 在关联表上选择
【发布时间】:2020-09-30 06:14:34
【问题描述】:

我的问题:

我正在创建一条路线,它将返回有关组的一些信息,它有一个 id、一个分配的用户并且还有一些文档。我只是想显示存在多少文档,在 SQL 中将是 SELECT COUNT,但是我如何在 sequelize 中做到这一点?

我的代码:

async list(req, res){
        const docGroups = await DocGroup.findAll({
            raw: true,
            include: [{
                  model: User,
                  as: 'userAssigned'
               },
               {
                  model: Document,
                  as: 'Document'
               }
            ]
        }).then(groups => {
            const result = groups.map(group => {
                return Object.assign(
                    {},
                    {
                        id: group.id,
                        name: group.name,
                        userAssinged: group['userAssigned.firstName'],
                        docAmount: // I want to put documents' count here

                    }   
                )

            })
            console.log(groups)    
        })
    }


console.log(groups) 中打印的内容:

[
  {
    id: 1,
    name: 'pleaseworks',
    createdAt: 2020-06-10T02:38:11.531Z,
    updatedAt: 2020-06-10T02:38:11.531Z,
    'userAssigned.id': 1,
    'userAssigned.firstName': 'Please',
    'userAssigned.lastName': 'Works',
    'userAssigned.email': 'pleaseworks@gmail.com',
    'userAssigned.password': '$2a$08$3BA4I4dsaQ3lsHy342344b5P41v5eHWjwqv6dve28nSdqbGvhsdS',
    'userAssigned.createdAt': 2020-06-10T02:37:29.062Z,
    'userAssigned.updatedAt': 2020-06-10T02:37:29.062Z,
    'userAssigned.groupId': null,
    'Document.id': 2,
    'Document.description': 'deowkdopewkdwe',
    'Document.content': 'odepodkewokodwe',
    'Document.groupId': 1,
    'Document.createdAt': 2020-06-10T02:43:46.005Z,
    'Document.updatedAt': 2020-06-10T02:43:46.005Z
  }
]

【问题讨论】:

  • 显示模型关联定义

标签: node.js sequelize.js


【解决方案1】:

如果DocGroup 有很多Document,试试这样:

{
  model: Document,
  attributes: [[sequelize.fn('COUNT', sequelize.col('id')), 'docAmount']]
  as: 'Document'
}

【讨论】:

    猜你喜欢
    • 2017-12-30
    • 1970-01-01
    • 1970-01-01
    • 2022-01-05
    • 1970-01-01
    • 2019-04-14
    • 2016-09-30
    • 2016-07-23
    • 1970-01-01
    相关资源
    最近更新 更多