在查询中序列化查询

Sequelize query in query

我有 2 个模型 Shop 和 Beacon。我必须 return 对分配给每个商店的信标求和。我知道怎么做 SQL:

SELECT Shops.*, (SELECT COUNT(id) FROM Beacons WHERE shopId = Shops.id) FROM Shops 

但是我在使用 Sequelize 时遇到了问题,我尝试了如下操作:

models.Shop.findAll({
  attributes: ['id', sqz.fn('count', sqz.col('shopId'))],
  include: [
    {
      model: models.Beacon
    }
  ]
});

此解决方案有效,但 return 查询:

SELECT Shop.*, count(shopId) FROM Shops LEFT OUTER JOIN Beacons ON Shop.id = Beacons.shopId