我存儲在Couchbase文件事件數據是這樣來算總:Couchbase的Map/Reduce通過文檔類型
{
user: {
id: '0BE2DA2B-9C8F-432D-88C2-B2C1D8D0E4B4',
device: { 'manufacturer': 'Apple', 'os': 'iOS', 'name': 'iPhone', 'version': '5S' }
},
event_type: 'INTERACTION_A',
country: 'GB',
timestamp: 1398781631233
}
我創建的Map/Reduce查詢,告訴我有多少事件iPhone用戶已經提交。但是,是否可以使用Map/Reduce來查詢操作系統提供事件的獨特設備數量?
每個單獨的設備可能已經提交了1000個事件,但結果會顯示系統已經看到了多少個獨特設備(按操作系統劃分)。我試圖最終得到的數據看起來像這樣:
{ 'iOS': 2343, 'Android': 6343 }
是否有可能在單個Couchbase視圖中執行此操作?
我不認爲這是我想要的。我的理解(從我可以看到的在我的數據集上運行)是,它會告訴我,我們已經看到了每個操作系統有多少事件。我試圖找到的是分立設備的數量由操作系統 – edlea
@edlea如果您將設備添加到鍵 - 'emit([doc.user.device.os,doc.user.id],null)' - 並通過'group = true'調用視圖,您將獲得每個操作系統唯一的設備。然後你就可以在「列表」中對它們進行計數。 –