在MongoDB中的多个嵌套字段中获取最后一个数组项

时间:2018-08-29 06:40:44

标签: mongodb nosql aggregation-framework

我有一个动态嵌套字段,例如user.com1.grp1.history,其中history是一组哈希表。

样本结构:

{
    _id: "123456",
    user: {
        com1: {
            grp1: {
                history: [
                    {
                         action: "something",
                         ...
                    }
                    ...
                ]
            },
            grp2: {
                history: [
                    {
                        action: "something else"
                        ...
                    }
                    ...
                ]
            },
         },
        com2: {
            ...
        }
    }
}

当我想获得history的{​​{1}}的最后一项时,这种方法可以正常工作:

grp

但是这里的问题是db.user.find({}, {user.com1.grp1.history: {$slice: -1}}) com是动态名称,每个grp包含许多动态user,每个com包含许多动态com,我无法为其查询。

在这种情况下,如何获得每个grp的{​​{1}}的最后一个物品?

0 个答案:

没有答案