mongoose这样查数据库前10条快吗,Article.find({}, 'XXX').limit(10).exec(),find方法是不是找出集合所有数据啊,然后取出10条,会不会有性能问题。但是不管这个集合多大,我只想要前10条有什么性能优化方法吗?
1条回答 默认 最新
关注 分页查询
// 失败后的模板 const errorTem = (msg, error) => res.send({ code: 500, msg, error }); // 查詢成功后数据返回的模板 const successTem = (msg, data) => ({ code: 200, msg, data }) // 接口逻辑 router.post('/list', (req, res) => { let { pageSize, // 每页多少条 pageNo, // 当前页 } = req.body const regFn = (arr) => { const params = {} arr.forEach(key => { if (!req.body[key]) return params[key] = new RegExp(req.body[key], 'i') }); return params } // 记录查询后的状态(防止查询多次) const find = Client.find(regFn(['name', 'phone'])); // 此处为了获取总数 find.then((datas) => { // 此处是分页查询 limit:获取多少条数据;skip:跳过多少条数据 find.limit(pageSize).skip(pageSize * (pageNo - 1)).then((data) => { res.send(successTem('查询成功', { data, total: datas.length })) }).catch(e => res.send(errorTem('查询失败', e))) }).catch(e => res.send(errorTem('查询失败', e))) })
解决 无用评论 打赏 举报
悬赏问题
- ¥15 如何让企业微信机器人实现消息汇总整合
- ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
- ¥15 如何用Python爬取各高校教师公开的教育和工作经历
- ¥15 TLE9879QXA40 电机驱动
- ¥20 对于工程问题的非线性数学模型进行线性化
- ¥15 Mirare PLUS 进行密钥认证?(详解)
- ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
- ¥20 想用ollama做一个自己的AI数据库
- ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
- ¥15 请问怎么才能复现这样的图呀