數據結構 - 在一個大集合一個文檔:MongoDB的屬性字符串以查詢和設置組ID
{
OPERATINGSYSTEM: "Android 6.0"
}
問題:OperatingSystem的可以等於例如「Android 5.0」,「Android 6.0」,「Windows Phone」,「Windows Phone 8.1」
沒有隻包含操作系統類型的屬性,例如只有Android
。
我需要得到Windows手機和Android手機的數量。
我的臨時解決方案:
db.getCollection('RB').find(
{OPERATINGSYSTEM: {$regex: "^Android"}}
).count();
我做了查詢通過的Windows Phone等,這些更換"^Android"
需要花費很多時間,並且需要並行工作要做。
使用聚合框架不過,我覺得這一點:
db.RB.aggregate(
{$group: {_id: {OPERATINGSYSTEM:"$OPERATINGSYSTEM"}}},)
但是使用這個我得到每個OperatingSystem的版本Android 5.0
,Android 6.0
等條目...
的解決方案我在尋找宜以這種格式返回數據:
{
"Android": 50,
"Windows Phone": 100
}
這怎麼能在單個查詢中完成?
你是對的,在這種情況下,灌溉框架不是最好的解決方案。 –