/* 1 */
,
],"classdata" : [
, ],
"channelvisit" : [ , ]
}/* 2 */
,
],"classdata" : [
, ],
"channelvisit" : [ , ]
}/* 3 */
,
],"classdata" : [
, ],
"channelvisit" : [ , ]
}
那麼我需要統計classdata.classid 相同的有多少。
先對過濾出自己需要的資料
}
獲得得資料如下:
/* 1 */
,
]}/* 2 */
,
]}/* 3 */
,
]}
_id 預設為1 也就是
}
對classdata陣列進行分類切分
獲取資料如下:
/* 1 */
}/* 2 */
}/* 3 */
}/* 4 */
}/* 5 */
}/* 6 */
}
那麼這樣了就很好去獲取classid得總數了
}}
獲取資料如下
/* 1 */
/* 2 */
/* 3 */
總命令如下:
db.getcollection('shortcut_entrance_20180903').aggregate([},
,}}
])
結合spring,使用mongotemplate:
核心**如下:
aggregation agg = aggregation.newaggregation(
aggregation.project("classdata.classid","classdata.position"),
aggregation.unwind("$classdata"),
aggregation.group("$classdata.classid").count().as("sim")
)aggregationresultsobjects = mongotemplate.aggregate(agg,collection,basicdbobject.class);//獲取需要的統計資料
iteratoriterator = objects.iterator();
while(iterator.hasnext())
JS陣列中,相同物件中數量進行累加!
我的需求 如圖 選擇的兩個裝置一樣,數量累加起來之後不能大於庫存數量,因為部門選擇可能會不同,所以在這沒有新增去重的判斷。下面是js中的 var userids2 new array 定義乙個存放裝置主鍵的陣列 var userarr 定義乙個陣列 下面這個判斷的作用是如果主鍵不存在陣列中,將新的資...
判斷陣列物件是否有相同物件
第一片文章不在會怎麼寫,嘻嘻嘻 一下 於 吳小明 片 判斷此物件是否是object型別 param obj function isobject obj 判斷此型別是否是array型別 param arr function isarray arr 深度比較兩個物件是否相同 param olddata ...
合併陣列物件中相同的屬性值
面試題中往往會遇到這樣的筆試題,將以下陣列物件合併相同值 var arr 在實際專案中,我們經常會遇到這種格式的資料,這種格式讓人閱讀起來很不直觀,而且不利於 的維護。廢話不多說了直接上 第一種方式 var res var narr for var i 0 i else console.log na...