MongoDB查詢僅僅返回特定字段

不多贅述,看代碼

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());
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章