Невозможно вернуть только вложенные свойства модели с помощью sequelize - PullRequest
0 голосов
/ 28 июня 2019

У меня есть модель Product и модель Category, у которых есть many to many relashionship. Я хотел бы получить все категории , к которым относится Product .Итак, вот что я сделал:

const product_categories=await Product.findByPk(product_id,{ include:{ model:Category, as:'categories', },});

Запрос работает просто отлично, но в ответ я получил сначала Product object с вложенным Category, ночто я действительно хочу - это отображать только категории.e

Я не хочу видеть Product attributes, я только вставил вложенный Category. Или только в product_id value есть key и в негоГнездо Category. Как мне этого добиться?

1 Ответ

1 голос
/ 28 июня 2019

Просто переверните логику.

const productCategories = await Category.findAll({
  attributes: ['id', 'name'], // or whatever attributes you want, remove this if you want all of them
  where: {
    productId: product_id
  },
  transaction
})

с другой стороны, я думаю, что вы можете удалить атрибуты продукта, продолжая использовать ваш подход:

const product_categories = await Product.findByPk(product_id,{
  attributes: [], // <== no product attributes
  include:[{
      model:Category,
      as:'categories',
  }],
  transaction
})
...