如何在Spring Data MongoDB中使用聚合

纳彦

我有一些文件。每个文档都有两个字段-codestatus我的mongodb集合包含一些类似于以下内容的文档:

[{
    "code":"1234",
    "status":"A"
},
{
    "code":"1234",
    "status":"A"
}
{
    "code":"1234",
    "status":"B"
},
{
    "code":"1235",
    "status":"A"
}]

我想按代码的状态查找计数。我想要的输出如下所示:

[
    {"code":"1234", "counts": {"A":2, "B":1}},
    {"code":"1235", "counts": {"A":1, "B":0}}
]

如何使用Spring Data MongoDB做到这一点?我是mongodb的新手。

更新我已经设法编写了mongodb查询。这里是:

db.mycollection.aggregate(
[
{"$group": {"_id": {"code":"$code", "status":"$status"}, "total": {"$sum":1}}},
{"$group": {"_id": "$_id.code", "counts": {"$push": {"status": "$_id.status", "count":"$total" }}}},
{"$project" : {"code":"$_id", _id: 0, counts:1}}
])

谁能帮忙如何在spring data mongodb中编写此查询?

阿鲁纳·哈里桑丹(Aruna Harichandan)

请使用以下代码签出

DBObject  counts= new BasicDBObject();
counts.put("status", "status");
counts.put("count", "count");

AggregationResults<Output> results = operations.aggregate(
    newAggregation(Codes.class, 
        group("code","status").count().as("count"),
        group("code").push(counts).as("counts")
), Output.class);

我认为Codes.java类是您的输入文档类,而Output.java类是您想要的结果类。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在带有Spring Data MongoDB的Java中使用$ lookup阶段?

如何在Spring Data MongoDB中使用多个聚合正确地计算数组元素?

如何在Spring Data中使用@Transactional?

如何在JPA / Spring-Data JPA中使用审核?

如何在Golang MongoDB中使用此聚合条件

如何在Spring Data MongoDB中实现聚合查询?

如何在Spring Data Redis Reactive中使用事务?

如何在反应式Spring Data MongoDB中使用数据库引用?

如何在Spring DATA JPA中使用UUID Generator?

如何在Spring-Data-MongoDB中使用@Query组合AND和OR子句?

如何在Spring Data MongoDB存储库的查询方法中使用投影类型?

如何在Spring Data REST项目中使用DTO?

如何在Spring Data Mongo DB中使用聚合使用$ month

使用spring-data-mongodb传输聚合操作的结果

如何使用Spring Data MongoDB聚合在组中使用总和和条件

使用Spring Data MongoDB的聚合管道的分页结果

如何在mongodb中使用$ in聚合文档?

如何在mongodb聚合中使用$ lookup和$

如何在mongodb中使用聚合

如何在mongoDB的嵌套数据中使用聚合$ lookup?

如何在Mongodb中使用$ add聚合?

如何在Spring Data JPA中使用JBossTS(Narayana)

如何在mongoDB中使用聚合获得此结果

如何在Spring Data MongoDB中使用$ arrayElemAt运算符

在聚合项目 Spring Data 中使用 $eq 等效

如何在Spring数据Mongodb中使用ArrayOperation的Size类进行聚合?

如何在 C# 中使用原始 MongoDB 聚合查询?

如何在JAVA中使用MongoDB聚合GroupOperation方法

如何在聚合中使用 MongoDB $in