我需要從mongoDB獲取每個選定文檔的數組的所有唯一值(使用meteorJS,這必須在服務器端完成)。MongoDB/JS:如何獲得數組字段的所有唯一字符串值
數據結構
{
_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' ]
你可以添加一個樣本文檔?從那個集合?回答你的問題將會非常有幫助。 –
向帖子中添加了數據結構 – user3142695