【发布时间】:2018-01-18 07:53:30
【问题描述】:
我需要从 mongoDB 获取每个选定文档的数组的所有唯一值(使用meteorJS,这必须在服务器端完成)。
数据结构
{
_id: 'Wt7gSvxSPbRw46KHK',
parent: 'doxCi4MSNmFJE43EH',
target: [ 'ejiSooMx6czQxzWmW', 'Q297RZEYKJdWWRyTJ' ]
}
这是我的查询,target 是一个包含字符串元素的数组。
查询
Collection.find(
{ parent: parent, target: { $exists: true } },
{ field: { target: 1 } }
).map(doc => { return doc.target })
现在我的查询结果如下所示:
[
[ 'Q297RZEYKJdWWRyTJ' ],
[ 'Q297RZEYKJdWWRyTJ', 'ejiSooMx6czQxzWmW' ],
[ 'ejiSooMx6czQxzWmW', 'Q297RZEYKJdWWRyTJ' ],
[ 'ejiSooMx6czQxzWmW' ]
]
对我来说第一个问题是映射数组的内容而不是数组本身,应该是这样的:
[
'Q297RZEYKJdWWRyTJ',
'Q297RZEYKJdWWRyTJ', 'ejiSooMx6czQxzWmW',
'ejiSooMx6czQxzWmW', 'Q297RZEYKJdWWRyTJ',
'ejiSooMx6czQxzWmW'
]
至少结果应该有唯一的值:
[ 'Q297RZEYKJdWWRyTJ', 'ejiSooMx6czQxzWmW' ]
【问题讨论】:
-
您可以添加一个示例文档吗?从那个收藏?回答您的问题将非常有帮助。
-
在帖子中添加了数据结构
标签: javascript arrays mongodb meteor