顺序查询子项的位置

时间:2019-12-07 14:05:36

标签: postgresql sequelize.js

我有一个用户和一个国家/地区模型。用户属于许多国家,反之亦然。 如何查询在其countries数组中只有特定国家/地区ID的用户?

const users = await DB.User.findAll({
  where: {
    // What to put here?
  },
  include: [
    {
      model: DB.Country,
      as: 'countries',
      // Putting where here only causes the countries to filter
    },
  ],
});

1 个答案:

答案 0 :(得分:1)

由于您希望任何具有特定国家/地区的用户,因此无需在用户的where子句中放置任何内容,请将where子句放在country include部分中。

const users = await DB.User.findAll({
  where: {
    // Nothing to put here
  },
  include: [
    {
      model: DB.Country,
      as: 'countries',
      where:{
          id : YOUR_EXPECTED_COUNTRY_ID
      }
    },
  ],
});