Bookshelf.js限额查询

Bookshelf.js limit query

已解决。答案见下文。

我试图只获得有限数量的结果。

虽然第二个有效,但第一个无效。这里缺少什么?

第一次查询

app.get('/ind', function (req, res) {
  youtube.where('status', 0).fetch(function (qb) {
    qb.limit(10);
  }).then(function (data) {
    data = data.toJSON();
  });
});

第二次查询

app.get('/photos', function (req, res) {
  user.where('id', 1).fetch({
    withRelated: [{
      'photos': function (qb) {
        qb.limit(2);
      }
    }]
  }).then(function (data) {
    data = data.toJSON();
    res.send(data);
  });
});

已解决。

您只需在 fetchAll() 之前添加一个 query() 并在此 query() 中定义您的限制。

app.get('/ind', function (req, res) {
  youtube.where('status', 0).query(function (qb) {
    qb.limit(10);
  }).fetchAll().then(function (data) {
    data = data.toJSON();
    res.render('youtube', {
      mi: data
    });
  });
});