時間:2024-03-26 14:43作者:下載吧人氣:21
group做的聚合有些復雜。先選定分組所依據的鍵,此后MongoDB就會將集合依據選定鍵值的不同分成若干組。然后可以通過聚合每一組內的文檔,產生一個結果文檔。
和數據庫一樣group常常用于統計。MongoDB的group還有很多限制,如:返回結果集不能超過16M, group操作不會處理超過10000個唯一鍵,好像還不能利用索引[不很確定]。
Group大約需要一下幾個參數。
1.key:用來分組文檔的字段。和keyf兩者必須有一個
2.keyf:可以接受一個javascript函數。用來動態的確定分組文檔的字段。和key兩者必須有一個
3.initial:reduce中使用變量的初始化
4.reduce:執行的reduce函數。函數需要返回值。
5.cond:執行過濾的條件。
6.finallize:在reduce執行完成,結果集返回之前對結果集最終執行的函數。可選的。
下面介紹一個實例:
先插入測試數據:
for(var i=1; i<20; i++){ var num=i%6; db.test.insert({_id:i,name:"user_"+i,age:num}); }
網友評論