私はrobmongoを初めて使用しました。Robmongo - 他の値で別の値を集計する cloumn
私は、各キーに "userId"の値と "deviceModel"の値のようないくつかの値があるというコレクションがあるとします。 各デバイスモデルにこのデバイスを持つユーザーの数を示すクエリを書く必要があります。 これは私がこれまでに得たものである:
db.device_data.aggregate([{ "$グループ":{_id: "$ data.deviceModel"、カウント:{$和を:1}}}])
問題は、これが各デバイスの集計で表示されるキーの数です。
{
"_id" : { "$binary" : "AN6GmE7Thi+Sd/dpLRjIilgsV/4AAAg=", "$type" : "00" },
"auditVersion" : "1.0",
"currentTime" : NumberLong(1479301118381),
"data" : {
"deviceDesign" : "bullhead",
"loginType" : "GOOGLE",
"source" : "SDKLoader",
"systemUptimeMillis" : 137652880.0,
"simCountryIso" : "il",
"networkOperatorName" : "Cellcom",
"hasPhonePermission" : true,
"deviceIdentifier" : "353627074839559",
"sdkVersion" : "0.7.939.2016-11-14.masterDev",
"brand" : "google",
"osVersion" : "7.0",
"osVersionIncremental" : "3239497",
"deviceModel" : "Nexus 5X",
"deviceSDKVersion" : 24.0,
"manufacturer" : "LGE",
"sdkShortBuildDate" : "2016-11-14",
"sdkFullBuildDate" : "Mon Nov 14 22:16:40 IST 2016",
"product" : "bullhead"
},
"timezone" : "Asia/Jerusalem",
"collectionAlias" : "DEVICE_DATA",
"shortDate" : 17121,
"userId" : "[email protected]b"}
これは、1つのキーがどのようにロックされるかの例です。
サンプルドキュメントを表示します。合計を1に変更します。$ sum: "$ userid" ...ドキュメント構造が正しく設定されていれば、 – notionquest
になります。すべてのdeviceModelの数は0です – yairabr
これをチェックしてみてくださいhttp://stackoverflow.com/questions/22932364/mongodb-group-values-by-multiple-fields –