序列化:查询是否包含父模型的数据(如果有关联的子模型);不返回子模型的数据

时间:2019-09-13 10:01:13

标签: node.js postgresql sequelize.js

在我的node.js应用程序中,将其与PostgreSQL数据库一起使用了续集,我定义了三个模型:用户,购物篮和商品。用户模型有很多篮子,篮子有很多物品。

我正在尝试编写一个查询,以仅返回用户和购物篮,而不包含商品(如果购物篮包含一个或多个商品)。该查询为我获取了我需要的数据(如果购物篮中有物品,则为用户和购物篮),但是它的问题在于它还提供了我所有的物品。

return await models.User.findAll({
    include: [{
      model: models.Basket,
      include: [{
        model: models.Item, 
        required: true
      }],
    }],
  });

1 个答案:

答案 0 :(得分:1)

如果您不需要项目表中的任何内容,

return await models.User.findAll({
  include: [{
    model: models.Basket,
    include: [{
      attributes: [],    // <----- Add this line
      model: models.Item, 
      required: true
    }],
  }],
});