MongoTemplate查询返回指定字段

1 篇文章 1 订阅
1 篇文章 0 订阅

问题

最近在项目中使用了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");//不包含该字段

参考

https://stackoverflow.com/questions/32108953/how-to-return-only-specific-fields-for-a-query-in-spring-data-mongodb
https://stackoverflow.com/questions/16739210/spring-data-mongo-query-field-parameters
https://docs.spring.io/spring-data/mongodb/docs/2.1.6.RELEASE/reference/html/#mongodb-getting-started

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值