有人知道如何使用Spring-Data将下面的聚合函数转换成java代码吗?
db.myCollection.aggregate([
{$match:{"status" : {$in:["WORKING","UNASSIGNED"]}}},
{$group:{
_id:{
"status":"$status",
"queue":"$queueName"
},
"count":{$sum:1},
"oldest":{$min:"$queueTime"},
"slow":{$sum:{$cond:[
{$lte: ["$queueServiceTs", new Date()]},
1,
0]}
}
}
}
]);
Spring mongo目前也不支持:
>
具有自定义键名的复合聚合_id
,当然您可以接受defualt字段名转换
使用$cond
操作或$sum
中的任何表达式,因为它只支持映射字段。
public class CustomGroupOperation implements AggregationOperation {
private DBObject operation;
public CustomGroupOperation (DBObject operation) {
this.operation = operation;
}
@Override
public DBObject toDBObject(AggregationOperationContext context) {
return context.getMappedObject(operation);
}
}
Aggregation aggregation = newAggregation(
new CustomGroupOperation(
new BasicDBObject("$group",
new BasicDBObject("_id",
new BasicDBObject("status","$status")
.append("queue","$queueName")
)
.append("count",new BasicDBObject("$sum",1))
.append("oldest", new BasicDBObject("$min","$queueTime"))
.append("slow",
new BasicDBObject("$sum",
new BasicDBObject("$cond",Arrays.asList(
new BasicDBObject("$lte",Arrays.asList(
"$queueServiceTs",
new Date()
)),
1,
0
))
)
)
)
)
);
这样就用$group
阶段构建了一个管道。
有人能帮我把这个mongoDB聚合转换成Spring数据mongo吗? 我试图在每个邀请函文件中获得未提醒与会者的电子邮件列表。 让它在mongo shell中运行,但需要在Spring data mongo中运行。 我的shell查询 ) 正如你们所看到的,这是我提出的,它在管道的项目和团队运作中并没有像预期的那样发挥作用。下面给出了生成的查询。 聚合对象创建 它创建以下查询 聚合对象生成的查询
我的应用程序使用Spring数据MongoDB,我试图在嵌入式文档中按降序排序数据,这是不工作的。 请参考以下JSON文档 JSON-库存文件: Spring数据Mongodb聚合查询: 电流输出: 苹果:150.0 李子:200.0 橙子:500.0 预期产量(按需求描述订单): 橙子:500.0 李子:200.0 苹果:150.0 你能帮我按降序得到预期的输出吗? 此外,我计划通过使用上述带限
我使用Spring(引导)2.2.7与mongoDB 4.0运行在Debian Stretch(9.12)。我已经设置了3个集合,我试图通过聚合查找级联操作加入这些集合。 操作(节点类) 股票(组件类) 目录(产品类) 每个类都有一个将它们链接在一起的uuid字符串属性。 节点(传感器、接收器、基站等) 组件(带有序列号、条形码的交付产品…) 产品(市场人工制品) 在mongo shell中运行此
我在使用聚合框架从MongoDB读取文档时遇到了问题:我的结果中总是得到空ID。这只发生在具有复合ID的文档中。我尝试了各种版本的spring-data-mongob(1.10.12, 2.0.7),结果相同。 实体定义类 测试代码 输出 调试到以下方法MappingMongoConverter。read(final mongopersistenentity entity、final Docume
我将如何在Spring靴中使用? 我需要一个“yildiz”平均值。 我的收藏 avg_yildiz MongoDBConfig。Java语言 MongoDB配置类。如何添加mongoTemplate? 编辑 Java语言lang.IllegalArgumentException:不支持的实体com。应用领域八一!无法确定IsNewStrategy。 如何保存存储库?
我有一个mongo查询,用于展开四个对象数组,并根据匹配条件过滤数据。如何在Spring data mongodb中执行相同的操作 我使用过单次放卷,但找不到任何具有多次放卷和匹配操作的。