【发布时间】:2019-01-14 22:32:50
【问题描述】:
如何在使用 .find() 之后和应用 .sort()、.skip() 和 .limit() 之前获取文档总数?
传递给 .find() 的对象最终将由查询参数生成,因此每次计数的结果都会不同。我应该使用 Promise 而不是 async/await 吗?
app.get('/', async (req, res) => {
let pageSize = parseInt(req.query.limit) || 250;
let page = parseInt(req.query.page) || 1;
try {
let products = await db.collection('Furniture')
.find({})
.sort({})
.skip((page - 1) * pageSize)
.limit(pageSize)
.toArray();
res.json({products});
} catch (e) { console.log('Error sending products', e); }
});
应将 count 属性添加到响应中发送的 json 中,其中包含符合 find() 参数的总产品。
【问题讨论】:
标签: javascript node.js mongodb mongodb-query