node.js - Sequelize : query to include a parent model's data if it has associated children; don't return the child model's data

标签 node.js postgresql sequelize.js

在我使用 sequelize 和 postgresql 数据库的 node.js 应用程序中,我定义了三个模型:用户、购物篮和项目。用户模型有很多篮子,而篮子里有很多物品。

如果篮子包含一个或多个项目,我正在尝试编写一个查询以仅返回用户和篮子,而不返回项目。这个查询让我得到我需要的数据(如果篮子里有物品,则为用户和篮子),但问题在于它也给了我所有的物品。

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

最佳答案

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

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

关于node.js - Sequelize : query to include a parent model's data if it has associated children; don't return the child model's data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57921482/

相关文章:

node.js - 为什么对 Redis 使用异步客户端有意义?

javascript - Node.js 中的 Python 多处理

postgresql - 由于驱动程序和数据库之间缺少连接,Pyspark 与 PostgreSQL 的 JDBC 连接失败

javascript - 在 nodejs 中的 postgres 中保存记录之前,对象 js 模型字段数据 trim

javascript - 我应该在sequelize (node.js) 中使用转义字符串吗?

node.js - Node Sequelize json 字段顺序

javascript - 获取Node.js中当前正在执行的函数名

javascript - 无法找到nodejs加密代码的浏览器js代码

sql - PostgreSQL 非标准选择(分组)

typescript 提示解构类型