java mongodb sort()和limit()函数

我想为每个JSP页面(每页100个项目)排序返回的结果,而不是全局排序.DBObject sort = new BasicDBObject();DBObject exist = new BasicDBObject();DBObject query= new BasicDBObject();exist.put($exists,1);query....

我想为每个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 =升序或降序

本文标题为:java mongodb sort()和limit()函数

基础教程推荐