MongoDB C Driver如何进行分页?

谢谢各位了。这里的问题是没有找到C接口的分页查询的操作。

英文太渣,在mongoDB的网站上没有发现分页相关的。
http://api.mongodb.com/c/current/tutorial.html
增删查改和计数都有,就是没有发现分页操作的。。。

阅读 5.2k
4 个回答

常规的方法是:

db.users.find().skip(pagesize*(n-1)).limit(pagesize)

还有一种性能更好的方法:

db.users.find().limit(pageSize); //第一页
last_id = ... //把最后一个_id存下来


users = db.users.find({'_id'> last_id}). limit(10); //第二页
last_id = ... //更新last_id

mongodb和其他数据库一样都可以查询对应的数据条数进行分页操作的,官方文档也有对应的说明,例如mongodb.limitmongodb.skip。或者你参考这个中文说明limit.skip。希望对你有帮助

xxxx.find({'xxx':'xxx'},function(err,rs){

res.json(rs);

}).limit(listnum).sort({'id':-1}).skip((pagenum-1)*listnum);

//listnum 是一页有多少条记录 pagenum 是第多少页

时间过去两年了,这个问题早就解决了。

// begin 是要跳过的个数,count是要获取的个数
mongoc_cursor_t* cursor =
        mongoc_collection_find(coll, MONGOC_QUERY_NONE,
            begin, count, count, &query, &feild, NULL);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进