//通常指定字段由前端传入后台,例如params 前端以逗号分隔 //后端获取字段后操作如下: Query query = new Query(); if (params != null) { String[] showFields = params.split(","); for (int i = 0; i < showFields.length; i++) { query.fields().include(showFields[i]); } } //接下来改添加条件的加条件,排序的排序等一系列操作 Query query = new Query(); query.fields().include("fields"); //包含该字段 query.fields().exclude("fields");//不包含该字段
找到了此方法后,因为不满足需求,未进行使用测试;
可以满足返回部分字段,隐藏关键/敏感信息使用;
DBObject dbObject = new BasicDBObject();
//dbObject.put("name", "zhangsan"); //查询条件
BasicDBObject fieldsObject=new BasicDBObject();
//指定返回的字段
fieldsObject.put("name", true);
fieldsObject.put("age", true);
fieldsObject.put("sex", true);
Query query = new BasicQuery(dbObject,fieldsObject);
List<Person> user = mongoTemplate.find(query, Person.class);
第二种方式,也未进行测试,需要自行测试是否成功。