1. 程式人生 > >mongodb的查詢和分頁

mongodb的查詢和分頁

Criteria criteria = Criteria.where("tag");
				String[] tags = tag.split(",");
				for (int i = 0; i < tags.length; i++) {
					criteria.regex("/*" + tags[i] +"/*", "i");			
				}
				Query query = Query.query(criteria);
				Query query2 = Query.query(criteria);
				
				int count = mongoTemplate.find(query2, ThingBean.class).size();
				
				logger.info("pageIndex>>>>"+pageIndex+"pageSize>>>>>>"+pageSize+"tenantId??>>>>"+tenantId);
				
				if(SORTORDER.equals(sortOrder)){
					query.with(new Sort(Direction.DESC , sortType));
				}else{
					query.with(new Sort(Direction.ASC , sortType));
				}		
				
			    
	            int skip = (pageIndex- 1) * pageSize;
	            /**
	             * 從那條記錄開始
	             */
	            query.skip(skip);
	            /**
	             * 取多少條記錄
	             */
	            query.limit(pageSize);
	         
	            List<ThingBean> thingBeans = mongoTemplate.find(query, ThingBean.class);
				PageBean pageBean = new PageBean();
				
				pageBean.setData(thingBeans);
				pageBean.setPageIndex(pageIndex);
				pageBean.setPageSize(pageSize);
				pageBean.setCount(count);
				
			    result.setCode("200");
			    result.setData(pageBean);