【问题标题】:How to use aggregation on spring boot with mongodb如何使用 mongodb 在 Spring Boot 上使用聚合
【发布时间】:2023-04-10 01:08:01
【问题描述】:

我正在尝试使用聚合函数获取特定字段的数组列表。我正在尝试在 mongodb 查询下运行:

db.txn.aggregate([
{ "$match" : { "name" : "piyush"}} ,
{ "$group" : { "_id" : null , "idList" : { "$push" : "$_id"}}} ,
{ "$project" : { "idList" : 1}}
])

它会返回以下结果:

{
"_id" : null,
"idList" : [ 
    ObjectId("5c150672ec78951f4c1cff00"), 
    ObjectId("5c150673ec78951f4c1cff01"), 
    ObjectId("5c150673ec78951f4c1cff02")
]}

我想使用带有 mongodb 的 Spring Boot 框架实现相同的查询,我该如何实现呢?

【问题讨论】:

    标签: java mongodb spring-boot mongotemplate spring-repositories


    【解决方案1】:

    你应该试试这样的:

    Aggregation aggregation = Aggregation.newAggregation(
            match(Criteria.where("name").is("Piyush")),
            group("_id").push("_id").as("idList")
            project("idList")
        );
    

    您可以在此处参考更多详细信息:

    https://docs.spring.io/spring-data/mongodb/docs/current/reference/html/

    【讨论】:

    • 它会返回我结果为:[{_id = 5c150673ec78951f4c1cff01,IDLIST = [5c150673ec78951f4c1cff01]},{_id = 5c150673ec78951f4c1cff02,IDLIST = [5c150673ec78951f4c1cff02]},{_id = 5c150672ec78951f4c1cff00,IDLIST = [5c150672ec78951f4c1cff00] } ] 在组操作中将 _id 设置为 null 吗?
    猜你喜欢
    • 2017-04-23
    • 1970-01-01
    • 2021-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-01
    相关资源
    最近更新 更多