mongodb聚合在嵌套数组中查找min值和其他字段

时间:2015-05-09 02:16:05

标签: mongodb aggregation-framework

是否可以在嵌套数组中找到最大日期并显示其价格,然后显示父字段,如实际价格。

我希望它显示的结果如下:

{
    "_id" : ObjectId("5547e45c97d8b2c816c994c8"),
    "actualPrice":19500,
    "lastModifDate" :ISODate("2015-05-04T22:53:50.583Z"),
    "price":"16000"
}

数据:

db.adds.findOne()
    {
            "_id" : ObjectId("5547e45c97d8b2c816c994c8"),
            "addTitle" : "Clio pack luxe",
            "actualPrice" : 19500,
            "fistModificationDate" : ISODate("2015-05-03T22:00:00Z"),
            "addID" : "1746540",
            "history" : [
                    {
                            "price" : 18000,
                            "modifDate" : ISODate("2015-05-04T22:01:47.272Z"),
                            "_id" : ObjectId("5547ec4bfeb20b0414e8e51b")
                    },
                    {
                            "price" : 16000,
                            "modifDate" : ISODate("2015-05-04T22:53:50.583Z"),
                            "_id" : ObjectId("5547f87e83a1dae00bc033fa")
                    },
                    {
                            "price" : 19000,
                            "modifDate" : ISODate("2015-04-04T22:53:50.583Z"),
                            "_id" : ObjectId("5547f87e83a1dae00bc033fe")
                    }
            ],
            "__v" : 1
    }

我的查询

db.adds.aggregate(
    [
    {   $match:{addID:"1746540"}},
    {   $unwind:"$history"},

    {   $group:{
            _id:0,
            lastModifDate:{$max:"$historique.modifDate"}
        }
    }
])

我不知道如何包含我使用$ project的其他字段,但是我收到了错误 谢谢你的帮助

0 个答案:

没有答案