我有以下代码,我使用splice函数只将前10个/ JSON对象传递给JADE模板。
app.get('/index', function(req, res) {
new models.Condos()
.query('orderBy', 'age', 'asc')
.fetch()
.then(function(names) {
var name = names.splice(0,10);
res.render('index', {
names: name.toJSON()
});
});
});
};
有没有办法我可以限制查询本身只返回前10个记录而不是拼接数组来做(使用偏移和限制参数)?
答案 0 :(得分:2)
您可以编写一个knex查询来实现此目的,它将类似于:
app.get('/index', function(req, res) {
knex.select('*')
.from('condos')
.limit(10)
.then(function(names) {
res.render(names);
});
});

您还需要在路由器文件中要求knex。
答案 1 :(得分:0)
我正在寻找的是更多这些方面。
app.get('/index', function(req, res) {
new models.Condos()
.query('orderBy', 'age', 'asc')
.query('limit','10')
.fetch()
.then(function(names) {
var name = names.splice(0,10);
res.render('index', {
names: name.toJSON()
});
});
});
};
答案 2 :(得分:0)
您可以使用Bookshelf中的分页plugin。
models.Condos.fetchPage( {page:1, pageSize:10} )
注意:对于第一页,如果页面大小为10,则可以省略参数,只需
models.Condos.fetchPage()