0
我使用mongodb作为面向文档的数据库,并将spring数据作为ODM使用它。我面临困难时期,在复杂的bson结构上执行最大的聚合。 我必须从所有文档中找到最大日期,但如果文档具有嵌入文档,则必须考虑嵌入文档的最大日期。 这里是一个例子,让我们假设我有一个集合名称person和person集合包含以下文档。MongoDB Spring数据,具有复杂条件的最大聚合
{
"_id" : ObjectId("55def1ceb5b5ed74ddf2b5ce"),
"name" : "abc",
"birth_date_time" : '15 June 1988'
"children" : {
"_id" : ObjectId("55def1ceb2223ed74ddf2b5ce"),
"name" : "def",
"birth_date_time" : '10 April 2010'
}
},
{
"_id" : ObjectId("55def1ceb5b5ed74dd232323"),
"name" : "xyz",
"birth_date_time" : '15 June 1986'
},
{
"_id" : ObjectId("55def1ceb5b5ed74ddf2b5ce"),
"name" : "mno",
"birth_date_time" : '18 March 1982'
"children" : {
"_id" : ObjectId("534ef1ceb2223ed74ddf2b5ce"),
"name" : "pqr",
"birth_date_time" : '10 April 2009'
}
}
它应该返回2010年4月10日,因为这是一个人在收集人的最大出生日期。我想知道使用spring数据存储库来实现它的人员。
谢谢FO答案......我不想用mongoTemplete这将是对豆额外注射这种特殊情况下? @MirceaG是否有任何方式使用Query注释将此聚合查询与Spring数据存储库接口进行映射? –
对不起,我不熟悉'@ Query'的功能。我通常在Spring操作(如$ redact)不支持Spring时使用Spring Data Aggregation Builder或Mongo Java Driver'DBCollection.aggregate' – MirceaG