limit 参数在 mongodb 上返回空结果

编程入门 行业动态 更新时间:2024-10-05 23:26:43

limit <a href=https://www.elefans.com/category/jswz/34/1771441.html style=参数在 mongodb 上返回空结果"/>

limit 参数在 mongodb 上返回空结果

在这个节点 + Mongodb 项目上,我试图限制从数据库中取回的对象数量。 第一个查询是获取所有“特色”属性设置为“真”的对象,这工作正常,但当我为特色对象包含一个限制参数时,它只返回一个空数组。 这是参考代码:

export const getHotels = async (req, res, next) => {
  const { min, max, ...others } = req.query;
  try {
    const hotels = await Hotel.find(req.query).limit(req.query.limit);
    res.status(200).json(hotels);
  } catch (err) {
    next(err);
  }
};

这是我的要求:

localhost:4000/api/hotels?featured=true&limit=3

但是 limit 参数让它返回一个空数组。

如果我从请求中删除 limit 参数,我将获得所有特色项目,但是当将 limit 参数添加到查询中时,它返回一个空数组。

回答如下:

查询参数返回字符串值和限制取整数/数字,这就是为什么你得到空数组 现在你有两个解决方案

解决方案 1

  1. Type 将查询值转换为如下所示的整数

    const hotels = await Hotel.find(req.query).limit(parseInt(req.query.limit));
    res.status(200).json(hotels);
    
  2. 将查询值乘以初始值,将字符串更改为整数(让我取 1)

    const hotels = await Hotel.find(req.query).limit(1 * req.query.limit);
    res.status(200).json(hotels);
    

更多推荐

limit 参数在 mongodb 上返回空结果

本文发布于:2024-05-30 10:08:24,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1770380.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:参数   limit   mongodb

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!