DATAMONGO-2363 - Add support for $merge and $addFields aggregation stage.

MergeOperation.builder().intoCollection("monthlytotals")
    .whenDocumentsMatchApply(
        newAggregation(
            AddFieldsOperation.builder()
                .addField("thumbsup").withValueOf(sumOf("thumbsup").and("$$new.thumbsup"))
                .addField("thumbsdown").withValueOf(sumOf("thumbsdown").and("$$new.thumbsdown"))
                .build()
        )
    )
    .whenDocumentsDontMatch(insertNewDocument())
    .build()

Original pull request: #801.
This commit is contained in:
Christoph Strobl
2019-10-28 15:04:30 +01:00
committed by Mark Paluch
parent 7e3f7bd861
commit a4e12a96c9
11 changed files with 1218 additions and 82 deletions

View File

@@ -9,6 +9,7 @@
* Removal of `_id` flattening for composite Id's when using `MongoTemplate` aggregations.
* Apply pagination when using GridFS `find(Query)`.
* <<sharding,Sharding key derivation>> via `@Sharded`.
* `$merge` and `$addFields` aggregation pipeline stages.
[[new-features.2-2-0]]
== What's New in Spring Data MongoDB 2.2