Express Sequelize和Graphql反向查找

Express Sequelize和Graphql反向查找,express,sequelize.js,graphql,apollo-server,Express,Sequelize.js,Graphql,Apollo Server,我有两种型号: River.associate = models => { River.hasMany(models.Fish, { as: 'Fishes' }); }; Fish.associate = models => { Fish.belongsTo(models.River); }; type River { id: ID! name: String! alternative: String! geojson: JSON

我有两种型号:

River.associate = models => {
  River.hasMany(models.Fish, { as: 'Fishes' });
};

Fish.associate = models => {
  Fish.belongsTo(models.River);
};

type River {
    id: ID!
    name: String!
    alternative: String!
    geojson: JSON
    fishes: [Fish]
}

type Fish {
  id: ID!
  name: String!
}
如果给定一个鱼ID列表,我将如何查找Dall Rivers?我不确定查询必须如何查找graphql和sequelize中的这个

type Query {
  river(id: ID!): River
  **rivers(fishIds: ARRAY): River ??????**
  fishes: [Fish]
}

Query: {
rivers: (_, { fishIds }) => {
      return River.findAll({
        where: {
          fishes: fishIds
        }
      });
    },
}

您可以为包含的每个模型指定
WHERE
子句。此外,这样做会将渴望加载转换为内部联接(这是您想要的),除非您显式地将
required
参数设置为
false

这意味着您应该能够执行以下操作:

River.findAll({ include:
  [
    {
      model: Fish,
      where: { id: fishIds }
    },
  ],
})

这似乎是有效的,虽然我的协会不起作用,现在什么也没有返回。