node.js - count和limit共同使用时得到的是limit传入的数值?

【字号: 日期:2022-09-22浏览:33作者:雯心

问题描述

如何一次查询得到count数量并且完成limte skip的分页任务

这样count得到的num始终为2

Movie .count({title: new RegExp(q+’.*’,’i’)},function(err,num){totalPage = Math.ceil(num/2) }) .find({title: new RegExp(q+’.*’,’i’)}) .limit(2) .skip(page * 2) .exec(function(err,movies){if(err){ console.log(err)}res.render(’results’,{title: '结果列表页',keyword: q,movies:movies,query: ’q=’ + q,totalPage:totalPage,currentPage: (page+1)})})})

2.这样count里面num数值对了,但是查询了两次

Movie .count({title: new RegExp(q+’.*’,’i’)},function(err,num){totalPage = Math.ceil(num/2) }) .exec(function(){Movie.find({title: new RegExp(q+’.*’,’i’)}).limit(count).skip(index).exec(function(err,movies){ if(err){console.log(err) } res.render(’results’,{ title: ' 结果列表页', keyword: q, movies:movies, query: ’q=’ + q, totalPage:totalPage, currentPage: (page+1) })}) })

如何一次查询得到count数量并且完成limte skip的分页任务?

问题解答

回答1:

很不幸没有这样的方式,只能查2次。从根源上想想这个问题,这就是2个不同的查询,执行计划都不一样,怎么可能在一次查询中完成?

相关文章: