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

java mongodb sort()和limit()函数

我想为每个JSP页面(每页100个项目)排序返回的结果,而不是全局排序.

   DBObject sort = new BasicDBObject();
   DBObject exist = new BasicDBObject();
   DBObject query= new BasicDBObject();
   exist.put("$exists",1);
   query.put("sortKey":exist);//sortKey is not indexed
   sort.put("sortKey",1);
    DBCursor cursor = dbcollection.find(query).limit(100).sort(sort);
    while(cursor.hasNext()){
    System.out.println(cursor.next());
    }

但事实上,对于集合中的所有文档,排序是平滑的处理,即,即使我使用函数限制(100),它也是全局排序.由于集合是非常大规模的,排序函数将需要相当大的所以,我想知道mongodb java驱动程序是否有一个将执行本地的功能(只对返回的100个文档进行排序)而不是全局排序?

解决方法:

通过使用Mongodb 3.x和相应的java驱动程序,您可以通过执行以下操作进行排序:

List<Document> list = collection.find().sort(descending("number")).into(new ArrayList<Document>());

用法排序为:
排序(顺序( “场”));

order =升序或降序

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

相关推荐