MongoTemplate查询返回指定字段

10,293 阅读1分钟

问题

最近在项目中使用了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…