統計Mongo陣列中相同物件的屬性之和

2022-03-10 05:23:36 字數 1592 閱讀 2332

/* 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...