【问题标题】:Extracting unique elements from array within different arrays从不同数组中的数组中提取唯一元素
【发布时间】:2016-09-27 08:52:31
【问题描述】:

我有一个具有这种结构的集合:

{
    "name": "1",
    "array1": [
        {
            "arrayname1A" : "A",
             "array2": [
                 { "value": "1" },
                 { "value": "3" }
             ]
        },
        {
             "arrayname1B": "B",
             "array2": [
                 { "value": "5" },
             ]
        }
    ]
},
{
    "name": "2",
    "array1": [
        {
            "arrayname1A": "A",
            "array2": [
                { "value": "1" },
                { "value": "7" }
            ]
        }
    ]
}

如何从每个不同的 array2 中提取唯一的“值”?我正在寻找的最终结果将类似于"1","3","5","7",没有重复值。

【问题讨论】:

    标签: mongodb mongodb-query robo3t


    【解决方案1】:

    只需使用distinct() 方法和dot notation 即可访问“值”字段。

    db.collection.distinct('array1.array2.value')
    

    产生:

    [ "1", "3", "5", "7" ]
    

    【讨论】:

    • 谢谢,这正是我正在寻找的 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-07
    • 1970-01-01
    • 2018-12-24
    • 2011-07-19
    • 2017-07-03
    相关资源
    最近更新 更多