微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何限制来自 Express Router 的返回元素

如何解决如何限制来自 Express Router 的返回元素

我的 API 中有很多电影,我想返回其中的一部分,我在 MERN 堆栈中工作,但我不知道这样做,我想使用 Express 框架对我的 API 进行分页。 这是我的代码

 const router = require('express').Router()
let Movie = require('../models/movie.model')


router.route('/:limit').get((req,res)=>{

    let limit = parseInt(req.query.limit) || 5

    Movie.find().limit(limit)
        .then(movies=>res.json(movies))
        .catch(err=>res.status(400).json('Error: '+err))
})

例如这是我想要的网址“/movies?limit=20”

解决方法

您可以使用跳过和限制。您的网址将是 /movies?limit=2&skip=2

let limit = parseInt(req.query.limit) || 5
let skip = parseInt(req.query.skip) || 0

Movie.find().skip(skip).limit(limit)

Movie.find(query,fields,{ skip,limit },function(err,results) { ... });

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。