node.js - 限制 Bookshelf 模型上的 Knex 查询仅返回 n 条记录

标签 node.js bookshelf.js knex.js

我有以下代码,其中使用 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 条记录,而不是拼接数组来执行此操作(使用 offset 和 limit 参数)?

最佳答案

您可以编写一个 knex 查询来实现此目的,它看起来像:

app.get('/index', function(req, res) {
  knex.select('*')
    .from('condos')
    .limit(10)
    .then(function(names) {
      res.render(names);
    });
});

您还需要在路由器文件中要求 knex。

关于node.js - 限制 Bookshelf 模型上的 Knex 查询仅返回 n 条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27156339/

相关文章:

node.js - “ Istanbul 尔”不被识别为内部或外部命令

node.js socket.io room 用户总数

postgresql - 从点数组创建 postgres postgis 多边形

bookshelf.js - 播种没有取回数据

mysql - Knex.js:我可以将多个迁移保存在一张迁移表中吗?

node.js - Promise 已创建但未返回。膝关节/书架

sql - knex 如何处理 SQLite 中的默认值?

javascript - Node 强大的单选按钮

http - Socket.io 不设置 CORS header

javascript - Bookshelf.js 预加载第三个表