MongoDB Spring数据,复杂条件下的最大聚合

穆罕默德·阿德南(Muhammad Adnan)

我使用mongodb作为面向文档的数据库,并使用spring数据作为ODM。我正处在艰难时期,对复杂的bson结构进行最大程度的汇总。我必须从所有文档中找到最大日期,但是如果文档具有嵌入式文档,则必须考虑该嵌入式文档的最大日期。这是一个示例,假设我有一个集合名称person,并且person集合包含以下文档。

{
     "_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 Data Repository实现它。

MirceaG

这是MongoDB聚合。它们应该在Spring Data中轻松实现。

db.person.aggregate([
    {$group: {
        _id: null,
        maxDate: {$max : { 
            $cond: [ 
                {$gt : ["$birth_date_time","$children.birth_date_time"]}, 
                "$birth_date_time", 
                "$children.birth_date_time"
            ]}}
    }}  
])

或使用$project

db.person.aggregate([{
    $project: {
        mDate: {
            $cond: [
                {$gt : ["$birth_date_time","$children.birth_date_time"]}, 
                "$birth_date_time", 
                "$children.birth_date_time"
            ]
        }
    }},
    {$group: {
        _id: null,
        maxDate: {$max : "$mDate"}
    }},    

])

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Mongodb在条件下未从数组设置

来自分类Dev

MongoDB-在多个条件下加入

来自分类Dev

MongoDB聚合查询的Spring数据

来自分类Dev

复杂的聚合命令MongoDB

来自分类Dev

MongoDB最小/最大聚合

来自分类Dev

在Mongodb中使用聚合对复杂条件进行排序

来自分类Dev

在Mongodb中使用聚合对复杂条件进行排序

来自分类Dev

如何在mongodb中的条件下应用$ lookup?

来自分类Dev

MongoDB-如何在多个条件下使用$ elemMatch

来自分类Dev

多条件下使用MongoDB合并多文档

来自分类Dev

MongoDb聚合查询转换为Spring数据

来自分类Dev

MongoDB聚合-分组数据

来自分类Dev

与mongodb聚合

来自分类Dev

mongodb聚合中的条件$ first

来自分类Dev

MongoDB流利的聚合条件阶段

来自分类Dev

R:在分组条件下聚合大数据帧

来自分类Dev

Morphia 复杂的 Mongodb 聚合($substr、$project、$sort 等...)

来自分类Dev

Mongodb 复杂的聚合查询不起作用

来自分类Dev

Spring Data MongoDB聚合转换?

来自分类Dev

Spring Data MongoDB聚合方案

来自分类Dev

使用 spring 的 MongoDB 聚合查询

来自分类Dev

MongoDB聚合包含伪数据

来自分类Dev

Spring数据等效于MongoDB中的以下聚合操作

来自分类Dev

从String到ObjectId的Spring数据MongoDb聚合查找

来自分类Dev

Spring数据MongoDB聚合中的属性始终为空

来自分类Dev

获取总用户列表以及在OR条件下匹配的mongodb中的活动用户

来自分类Dev

使用Spring-Data-MongoDB的1.3.5-RELEASE,Spring数据MongoDB聚合函数不起作用

来自分类Dev

用于构建条件总和的MongoDB聚合

来自分类Dev

mongodb聚合中的多个条件总和