我正在使用java mongodb驱动程序执行聚合操作,我按照文档中的示例(粘贴在下面).据此,应该隐藏_id字段.但是,根据我对自己的代码以及此示例的输出的经验,即使将投影值设置为0(它可以从mongo shell工作),_id字段也不会隐...
我正在使用java mongodb驱动程序执行聚合操作,我按照文档中的示例(粘贴在下面).据此,应该隐藏_id字段.但是,根据我对自己的代码以及此示例的输出的经验,即使将投影值设置为0(它可以从mongo shell工作),_id字段也不会隐藏.有谁知道这是mongodb java驱动程序中的错误吗?或者我做错了什么?
// create our pipeline operations, first with the $match
DBObject match = new BasicDBObject("$match", new BasicDBObject("type", "airfare") );
// build the $projection operation
DBObject fields = new BasicDBObject("department", 1);
fields.put("amount", 1);
fields.put("_id", 0);
DBObject project = new BasicDBObject("$project", fields );
// Now the $group operation
DBObject groupFields = new BasicDBObject( "_id", "$department");
groupFields.put("average", new BasicDBObject( "$avg", "$amount"));
DBObject group = new BasicDBObject("$group", groupFields);
// run aggregation
AggregationOutput output = collection.aggregate( match, project, group );
解决方法:
最后得到的_id字段来自$group运算符.如果要将其重命名为department,请将另一个$project添加到管道的末尾,并将_id转换为department.
沃梦达教程
本文标题为:mongodb java driver在聚合/投影操作中隐藏id字段
猜你喜欢
- java封装及四种权限修饰符详解 2023-03-31
- Java设计模式之组合模式 2023-06-02
- 详解Spring的@Value作用与使用场景 2023-07-14
- SpringBoot配置绑定方法详解 2023-06-24
- Java实现HTML转为Word的示例代码 2023-02-05
- img的src地址是一个请求的方式来显示图片方法 2023-08-01
- Mybatis 一级缓存和二级缓存原理区别 2023-05-25
- JSP中EL表达式的用法详解(必看篇) 2023-08-01
- jsp页面中EL表达式被当成字符串处理不显示值问题的解决方法 2023-08-02
- java知识点7——面向过程和面向对象、面向对象的内存分析、构造方法 2023-09-01