猫鼬 .find 与分页返回 0 个元素



我正在尝试使分页正常工作,但由于某种原因,猫鼬返回零项。

以下是 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}}(

我相信不起作用

最新更新