使用Mongodb,我希望获得每个特定区域(按区域分组)的传感器值大于100且传感器值小于100的计数。
我有一个sensorValue属性,它有4个子属性。 1)sensorValue(值将为100、200 122、80等)-我想知道每个区域的计数高于100而低于100。 2)纬度 3)经度 4)Region(地区名称)-我要对该地区进行计数。
借助stackoverflow,我编写了以下查询。
var expander=hs.getExpander(jq('#my_popup_id_HS')[0]);
hs.maxHeight=600;
expander.reflow();
我不确定如何在“ $ project”选项下处理子属性“ sensorValue.regoin”。如果我缺少某些内容,请告诉我。
答案 0 :(得分:0)
您可以尝试通过以下汇总获得结果
db.t66.aggregate([
{$group: {
_id : "$sensorValue.region",
lessThan : {$sum : {$cond: [{$lt : [{$toInt : "$sensorValue.sensorValue"}, 50]}, 1,0]}},
greaterThan : {$sum : {$cond: [{$gte : [{$toInt : "$sensorValue.sensorValue"}, 50]}, 1,0]}},
}}
])
如果$toInt
是sensorValue
数据类型,则可以删除int