如何在MongoDB中展开对象内部的数组?

时间:2019-05-09 03:12:51

标签: database mongodb nosql aggregation-framework

我了解Ungo运算符中的MongoDB。

所以,我有这样的文件。

{
    "name": "abc",
    "report": {
        "_2019": {
            "May": {
                "_9": {
                    "DATA": [{
                            "image": "xyz.png",
                            "object": true
                        },
                        {
                            "image": "abc.png",
                            "object": true
                        }
                    ]
                },
                "_10": {
                    "DATA": [{
                            "image": "ejf.png",
                            "object": false
                        },
                        {
                            "image": "qwe.png",
                            "object": false
                        }
                    ]
                }
            },
            "June": {
                "_1": {
                    "DATA": [{
                        "image": "jsk.png",
                        "object": false
                    }]
                }
            }
        },
        "_2020": {
            "January": {
                "_30": {
                    "DATA": [{
                        "image": "hhg.png",
                        "object": false
                    }]
                }
            }
        }
    }
}

并希望将输出格式化为类似的格式

[{
    "image": "xyz.png",
    "object": true
}, {
    "image": "abc.png",
    "object": true
}, {
    "image": "ejf.png",
    "object": false
}, {
    "image": "qwe.png",
    "object": false
}, {
    "image": "jsk.png",
    "object": false
}, {
    "image": "hhg.png",
    "object": false
}]

我发现的第一件事是使用unwind,但是它只接受数组。第二个是在编程端使用foreach。但我认为这无效。这可能吗?谢谢。

0 个答案:

没有答案