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