我使用knex和bookshelf,我的表由作者、标题、内容、计数组成,每个数据看起来像这样:
author: 'John Doe',
title: 'aaaaa',
content: 'aaaaaaaa'
count: 54,
我想根据count的值检索数据,并且我想获得4个具有最高计数值的数据。
如果我想检索所有的数据,我这样做:
router.get('/', (req, res) => {
Article.forge().fetchAll().then(article => {
res.json(article);
})
})
我能不能做forge({ count: 3 data that has the highest count value })
或者
我应该添加什么代码才能实现这一点?
将orderBy与fetchPage合并
Article
.orderBy('-count')
.fetchPage({
pageSize: 3
})
.forge()
这突出了我的团队移除书架,只使用基本膝关节的原因。除非您想要获取相关模型,否则不使用ORM层会更简单。等效knex代码为:
knex('articles')
.orderBy('count', 'desc')
.limit(3)
这是稍微简单,结果行属性可以直接访问,即rows[0].id
而不是rows[0].get('id')