我正在尝试使分页正常工作,但由于某种原因,猫鼬返回零项。
以下是 nodejs 中的相关代码:
if (req.query.name) {
match.name = req.query.name;
}
// initial pageSize is 2
// initial page is 1
pageSize = parseInt(req.query.pagesize);
page = parseInt(req.query.page);
const foods = await Food.find({ match })
.skip(pageSize * (page - 1))
.limit(pageSize);
res.send({
foods,
});
现在,我使用具有不同路由的 .populate 使用了相同的技术,并得到了我正在寻找的结果,如下所示:
await req.user
.populate({
path: 'pets',
options: {
limit: req.query.pagesize,
skip: req.query.pagesize * (req.query.page - 1),
},
})
.execPopulate();
我不知道出了什么问题。数据库中有 20 个项目。如果我删除 .limit 和 .skip 并且只有 .find,我会检索所有项目。
似乎您将错误的值粘贴到 .find((
你不应该在你的案例中放置.find({name: req.query.name})
或.find(match)
吗?
现在它说({匹配:{名称:req.query.name}}(
我相信不起作用