问题
最近在项目中使用了MongoDB,遇到一个问题是如何查询返回指定的字段 百度和谷歌中文搜索了各种答案没一个靠谱的 就说说百度上流传最广的一个互相抄袭的博客内容是这么写的
QueryBuilder queryBuilder = new QueryBuilder();
queryBuilder.or(new BasicDBObject("onumber", "002"), new BasicDBObject("cname","zcy1"));
BasicDBObject fieldsObject=new BasicDBObject();
fieldsObject.put("onumber", 1);
fieldsObject.put("cname", 1);
Query query=new BasicQuery(queryBuilder.get(),fieldsObject);
这个答案显然已经不合时宜,现在BasicQuery已经不能这样构造了。
解决
最后还是在StackOverflow搜到了准确答案。
Query query = new Query();
query.fields().include("path"); //包含该字段
query.fields().exclude("salary");//不包含该字段
参考
stackoverflow.com/questions/3… stackoverflow.com/questions/1… docs.spring.io/spring-data…