let query = Tour.find(JSON.parse(queryStr));
if (req.query.sort) {
query = query.sort(req.query.sort);//a string 'ratings'
}
const tours = await query;
res.status(200).json({
status: 'success',
requestedAt: req.requestTime,
result: tours.length,
data: {
tours,
},
});
这是我的代码图尔斯应该返回所有的数据,但是它只给了我一个空数组,我对这些都是新手,我找不到解决方案,但是我确信,我使用的排序方法中发生了一些事情,因为我使用了调试器,我不明白里面发生了什么。
我使用的是mongoose v5,节点是v18,我不知道这是否是问题所在,如果有人能帮我解决这个问题,那就太好了
1条答案
按热度按时间l3zydbqr1#
太长,不能作为注解。调试时,请尝试先对功能进行硬编码,然后添加动态值。
我刚刚试着重新创建了您所拥有的内容,它运行良好,所以问题可能出在
queryStr
或req.query.sort
的值上。这产生了预期的输出,只有“酷”的图尔斯排序的评级。看到我如何使用硬编码的值排序和查找?这使我相信,问题是在值。