Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I wrote a shell as below which works fine in mongo console, I am wondering how to write the Java code in spring mongo. I tried many approches with no success, any help will be grateful.

db.getCollection('Application').aggregate([

  {$match: {"applicationId":"2021010706001"}},
  {$group: { _id: "$applicationId", mapData: { $mergeObjects: "$mapData" } } },
  {$replaceRoot: { newRoot: "$mapData" } }
])

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
1.1k views
Welcome To Ask or Share your Answers For Others

1 Answer

finally I have worked it out, as below:

        Aggregation aggregation = Aggregation.newAggregation(
                Aggregation.match(Criteria.where("applicationId").is(applicationId)),
                Aggregation.group("applicationId").addToSet("mapData").as("mapData"),
                Aggregation.project("mapData"),
                Aggregation.replaceRoot().withValueOf(
                        ObjectOperators.valueOf("mapData").merge())
        );

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...