不多贅述,看代碼
QueryBuilder queryBuilder = new QueryBuilder(); queryBuilder.put("personId").is(personId);//這裏字段爲personId queryBuilder.put("date").greaterThanEquals(startTime)//這裏爲字段的一個範圍值 .lessThanEquals(endTime); BasicDBObject fieldsObject=new BasicDBObject(); fieldsObject.put("_id", 0); fieldsObject.put("date", 1); Query query = new BasicQuery(queryBuilder.get(),fieldsObject); query.with(new Sort(new Sort.Order(Sort.Direction.ASC, "date")));
查詢條件:QueryBuilder
返回字段:BasicDBObject
put 中key爲字段名,值0表示不返回,1表示返回,由於_id默認返回,所以需要手動設置爲0.
組合查詢:Query
List<XXXObject> XXXList = mongoOperations.find(query,XXXObject.class);
可用如下表達式直接提取list中的某一字段:
(我這裏的字段爲時間戳date,所以爲Long型)
List<Long> dates = XXXList.stream().map(e -> e.getDate()).collect(Collectors.toList());