从不同数组中的数组中提取唯一元素
Extracting unique elements from array within different arrays
我有一个具有这种结构的集合:
{
"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 中提取唯一的 "value"?我正在寻找的最终结果类似于 "1","3","5","7"
,没有重复值。
只需使用 distinct()
method and the dot notation 访问 "value" 字段。
db.collection.distinct('array1.array2.value')
产生:
[ "1", "3", "5", "7" ]
我有一个具有这种结构的集合:
{
"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 中提取唯一的 "value"?我正在寻找的最终结果类似于 "1","3","5","7"
,没有重复值。
只需使用 distinct()
method and the dot notation 访问 "value" 字段。
db.collection.distinct('array1.array2.value')
产生:
[ "1", "3", "5", "7" ]