Spring Data MongoDB:如何用 Spring Aggregation 描述聚合 $merge?
Posted
技术标签:
【中文标题】Spring Data MongoDB:如何用 Spring Aggregation 描述聚合 $merge?【英文标题】:Spring Data MongoDB: How to describe aggregation $merge with Spring Aggregation? 【发布时间】:2021-05-15 18:50:18 【问题描述】:我想通过MongoTemplate
执行的代码:
$merge:
into: 'someCollection',
on: "_id",
whenMatched: 'merge',
whenNotMatched: 'discard'
我没有找到任何合适的方法可以让我描述$merge
阶段,怀疑Spring Data MongoDB
是否支持这个阶段?
【问题讨论】:
是的! docs.spring.io/spring-data/mongodb/docs/current/api/org/… 【参考方案1】:是的,Spring Data MongoDB
支持$merge
阶段。
您的代码可以通过MongoTemplate
执行如下方式。
MergeOperation mergeOperation = Aggregation.merge()
.intoCollection("someCollection")
.on("_id")
.whenMatched(MergeOperation.WhenDocumentsMatch.mergeDocuments())
.whenNotMatched(MergeOperation.WhenDocumentsDontMatch.discardDocument())
.build();
将此mergeOperation
与mongoTemplate
一起使用。
【讨论】:
以上是关于Spring Data MongoDB:如何用 Spring Aggregation 描述聚合 $merge?的主要内容,如果未能解决你的问题,请参考以下文章
如何为 Spring Data 中的类配置 MongoDb 集合名称