java中MongoDB的分页实现



/**
  * 分页查询
  *
不要轻易使用Skip来做查询,否则数据量大了就会导致性能急剧下降,这是因为Skip是一条一条的数过来的,多了自然就慢了
  * @param doc
  */
 public void find(MongoCollection doc){
  //分页查询,skip(n) 代表从第n条数据开始查询,limit(m) 代表要查询m条数据
  FindIterable docs = doc.find(new BasicDBObject("age", "28")).skip(0).limit(5) ;
  docs.iterator() ;
  for (Document document : docs) {
   System.out.println(document.getString("name"));
  }
 }

其中skip(0)中的0代表在查询出的结果中从第0个开始显示(也就是第一个)

 

多个条件进行筛选

public void find(MongoCollection doc){
  BasicDBObject obj = new BasicDBObject() ;
  obj.append("age", "28") ;
  obj.append("address", "上海") ;
  //分页查询,skip(n) 代表从第n条数据开始查询,limit(m) 代表要查询m条数据
  FindIterable docs = doc.find(obj).skip(0).limit(5) ;
  docs.iterator() ;
  for (Document document : docs) {
   System.out.println(document.getString("name"));
  }
 }

你可能感兴趣的:(MongoDB,mongodb,java,分页)