簡體   English   中英

Mongodb-從對象數組中檢索選擇值

[英]Mongodb - Retrieve select value from array of objects

我有一個包含對象的數組。

這些對象具有名稱和顏色。 有些對象還可以包含子項! (其他對象的數組)。

{        
    items : [
        {
            name: 'box'
            color: 'red' 
        },
        {
            name: 'circle'
            color: 'blue'
            children: [
                {
                    name: 'sphere'
                    color: 'orange' 
                },
                {
                    name: 'polygons'
                    color: 'green' 
                }
            ]
        },
        {
            name: 'triangle'
            color: 'pink' 
        }
    ]
}

我需要檢索這些項目的所有名稱,並排除其顏色。

結果應為:

items : [
    {
        name: 'box'
    },
    {
        name: 'circle'
        children: [
            {
                name: 'sphere'
            },
            {
                name: 'polygons'
            }
        ]
    },
    {
        name: 'triangle'
    }
]

我已經廣泛研究了聚合,但是似乎找不到解決方案!

如何排除對象數組中的值?

無需聚合。

 db.coll.find({}, {'_id' : 0, 'items.name' : 1, 'items.children.name' : 1})

將給出以下輸出

{
    "items" : [
        {
            "name" : "box"
        },
        {
            "name" : "circle",
            "children" : [
                {
                    "name" : "sphere"
                },
                {
                    "name" : "polygons"
                }
            ]
        },
        {
            "name" : "triangle"
        }
    ]
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM