聚合java时连接mongo db字段

时间:2015-12-15 11:05:40

标签: java mongodb aggregation-framework

我有一个包含以下文件的集合 -

    {"_id":ObjectId("xxx"),"article_Id":"1","publish_Time":NumberLong(10)}  
    {"_id":ObjectId("yyy"),"article_Id":"1","publish_Time":NumberLong(11)}  
    {"_id":ObjectId("zzz"),"article_Id":"1","publish_Time":NumberLong(12)}  

我想在article_id上​​聚合,期望的结果有点像 -

  {"_id":{"articleId":"1"}, pub_t:[publish_Time":NumberLong(10),publish_Time":NumberLong(11),publish_Time":NumberLong(10)]}

我想将单独文档中的publish_time字段与结果中的一个数组合并。 我怎样才能做到这一点? 在此先感谢。

1 个答案:

答案 0 :(得分:1)

查询

db.articles.aggregate(
{
    $group:
    {
        _id:
        {
            articleId: "$article_Id"
        },
        pub_t:
        {
            $push: "$publish_Time"
        }
    }
})

结果

{
    "_id" : {
        "articleId" : "1"
    },
    "pub_t" : [
        NumberLong(10),
        NumberLong(11),
        NumberLong(12)
    ]
}