首页 文章

续集加入和限制

提问于
浏览
1

我试图与Sequelize形成一个查询加入并选择限制 . 让我来说明一下这个问题:

我有多对多的关系: Book - Reader . 读者可以有很多书,一本书可以有很多读者 .

鉴于 Book 的id,我想翻阅它的所有 Reader . 这是我目前尝试过的,它有一些问题 . 首先,分页不起作用 . 第二,它仍然选择 Book 以及 Reader 的所有属性,当我只需要 Reader (我扔掉所有的 Book ) .

/**
 * Get all Readers of a Book.
 *
 * @param {Number} bookId id of the book
 * @param {Number} limit number of readers to retrieve
 * @param {Number} offset number of readers to skip 
 * @return {Promise} contains an array of readers
 */
function getBookReaders(bookId, limit, offset) {
  return Book.findOne({
    id: bookId,
    include: [Reader],
    limit: 10,
    offset: 30
  }).then(function(book) {
    return book.readers;
  });
}

有关如何正确形成此查询的任何建议?

1 回答

  • 0

    我不确定这是否真的有效,但将限制应用于您想要限制的模型是有意义的:

    Book.findOne({
      id: bookId,
      include: [ { model: Reader, limit: 10, offset: 30 } ]
    }).then(function(book) {
      return book.readers;
    });
    

相关问题