mongo分页查询返回count有误

发布问题 回首页

mongo分页查询返回count有误

★ 0 成为第一个关注这个问题的人

数据库菜鸟,查询前端分页,为什么返回给的 count 是 分页的 limit。不应该是data的总长度吗?问题出在哪了呢?谢谢解答。

let page = parseInt(req.query.page);
	let limit = parseInt(req.query.limit);
	let skip = parseInt((page - 1) * limit );
	console.log(page, limit, skip);
	//首先从数据库拿到数据
	let selectData = function (db, callback) {
		//链接数据库文档
		let collection = db.collection('news');
		//查询数据
		collection.find().limit(limit).skip(skip).toArray(function (err, result) {
			if (err) {
				console.log('Error' + err);
				return;
			}
			callback(result);
		})
	};
	MongoClient.connect(DB_CONN_STR, function (err, db) {
		console.log("连结成功");
		selectData(db, function (result) {
			console.log(result);
			//把数据返回给前端
			res.status(200);
			res.json({
				code: 0,
				count: result.length,
				data: result
			});

前端响应:
前端传过来limit=10,返回给她的count就是10,可是总数据有22条,这个count应该是22的呀

leesir 在大约 之前添加了 Open 状态
  • 提问于
  • Answers0 个
  • 浏览 9 次
  • 最新活跃于

问题状态

  • Open

类别

1 个 参与者

mongo分页查询返回count有误》有13个想法

  1. 谢答,但个人认为不准确,1.mr我觉得不适合实时计算,更贴合后期数据统计需求,2.aggregate必须支持自定义函数,就好像你定义个abc(1,2)一样肯定是计算了,现在的问题是abc(1,2)这个参数我想传个字段进去,比如abc($qty,2)这样….他就不好使了….难道大家没有在aggregate中用字段进行计算的经历么?

发表评论