У меня есть таблица для людей с самосознанием, чтобы люди могли иметь родителей/детей/двоюродных братьев и т.д.
const People = sequelize.define('People', {
gender: Sequelize.STRING,
name: Sequelize.STRING,
age: Sequelize.INTEGER
})
const Relationships = sequelize.define('Relationships')
Items.belongsToMany(Items, { through: Relationships, as: 'relationships' })
Я хочу иметь возможность выбирать данные двумя способами:
1. Выберите все отношения человека, достигшего 21 года.
// Returns all of johns relatives who are 21
return People.findOne({
where: { name: 'John' },
include: [{
required: false,
model: Items,
as: 'relationships',
where: { age: 21 }
}]
})
2. Выберите всех людей, у которых есть отношение, которому исполнилось 21 год. Это нужно будет принять несколько запросов, таких как: Выбрать всех людей, у которых есть родственник, которому 21 год, и/или мужчине.
Любые идеи?