1
我正在尝试使用Sequelize形成一个查询来加入并选择+限制。让我来说明问题:续集加入并限制
我有一个多对多的关系:Book
- Reader
。读者可以有很多书,一本书可以有很多读者。
鉴于Book
的ID,我想翻阅其所有Reader
s。 这是我目前尝试过的,它有一些问题。首先,分页不起作用。其次它仍然选择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;
});
}
关于如何正确构建此查询的任何建议?
仍然抵消了极限/没有工作,这个API文档](http://docs.sequelizejs.com/en/latest/api/model/#findalloptions-queryoptions-promisearrayinstance)不要列出嵌套包含模型的限制/偏移选项 –
是的。似乎有一个功能要求,但现在似乎没有任何方式不这样做,没有两次查询。但既然你知道引用,你可以使两个查询与Promise.all()并行运行。 –
对不起,没有按照,我怎么会并行?这是一个多对多的模型,所以我需要连接表来获取所有'Reader'的ID /我无法直接查询'Reader'表。 –