Sequelize найти на основе ассоциации

Как использовать Sequelize, чтобы найти всех людей, где столбец в соотношении удовлетворяет условию?

Примером может служить поиск всех книг, фамилия автора которых называется «Hitchcock». Схема книги содержит отношение hasOne к таблице автора.

Изменить: я понимаю, как это можно сделать с помощью исходного SQL-запроса, но ищет другой подход

Вот рабочий пример того, как пользователь Sequelize получает все Books от Author с определенной фамилией. Это выглядит немного сложнее, потому что я определяю Модели, связывая их, синхронизируя с базой данных (для создания их таблиц), а затем создаю фиктивные данные в этих новых таблицах. Посмотрите на findAll в середине кода, чтобы узнать, что именно вам нужно.

  module.exports = function(sequelize, DataTypes) { var Author = sequelize.define('Author', { id: { type: DataTypes.INTEGER, allowNull: false, autoIncrement: true, primaryKey: true }, firstName: { type: DataTypes.STRING }, lastName: { type: DataTypes.STRING } }) var Book = sequelize.define('Book', { id: { type: DataTypes.INTEGER, allowNull: false, autoIncrement: true, primaryKey: true }, title: { type: DataTypes.STRING } }) var firstAuthor; var secondAuthor; Author.hasMany(Book) Book.belongsTo(Author) Author.sync({ force: true }) .then(function() { return Book.sync({ force: true }); }) .then(function() { return Author.create({firstName: 'Test', lastName: 'Testerson'}); }) .then(function(author1) { firstAuthor=author1; return Author.create({firstName: 'The Invisible', lastName: 'Hand'}); }) .then(function(author2) { secondAuthor=author2 return Book.create({AuthorId: firstAuthor.id, title: 'A simple book'}); }) .then(function() { return Book.create({AuthorId: firstAuthor.id, title: 'Another book'}); }) .then(function() { return Book.create({AuthorId: secondAuthor.id, title: 'Some other book'}); }) .then(function() { // This is the part you're after. return Book.findAll({ where: { 'Authors.lastName': 'Testerson' }, include: [ {model: Author, as: Author.tableName} ] }); }) .then(function(books) { console.log('There are ' + books.length + ' books by Test Testerson') }); }