關於MongoDB的group分組

2021-08-22 10:40:14 字數 1739 閱讀 9833

關於mongodb的group分組

測試條件:windows+

mongodb 1.8.2

先插入測試資料:

for(var i=1; i<20; i++)); }

1.普通

分組查詢

db.test.group(,initial:,$reduce:function(doc,prev)});

db.runcommand(,

initial:,

$reduce:function(doc,prev) }

});

2.篩選後再分組

db.test.group(,initial:,$reduce:function(doc,prev),

condition:}

});

db.runcommand(,

initial:,

$reduce:function(doc,prev),

condition:} }

});

普通的$where查詢:

db.test.find(

});

group聯合$where查詢

db.test.group(,initial:,$reduce:function(doc,prev),

condition: }

});

3.使用函式返回值分組

//注意,$keyf指定的函式一定要返回乙個物件

db.test.group(;},initial:,$reduce:function(doc,prev)

});

db.runcommand(;},

initial:,

$reduce:function(doc,prev) }

});

4.使用終結器

db.test.group(;},initial:,$reduce:function(doc,prev),

finalize: function(doc)

});

db.runcommand(;},

initial:,

$reduce:function(doc,prev),

finalize: function(doc) }

});

有關mapreduce

//首先插入測試資料

for(var i=1;i<21;i++)

); }

//進行mapreduce

db.runcommand(

, reduce:function(key,vals),  //注意:vals是乙個object物件而不是陣列

out:'wq'

});

注意:

1.mapreduce是根據map函式裡呼叫的emit函式的第乙個引數來進行分組的

2.僅當根據分組鍵分組後乙個鍵匹配多個文件,才會將key和文件集合交由reduce函式處理。例如:

db.runcommand(

, reduce:function(key,vals),

out:'wq'

});

執行mapreduce命令後,再檢視wq表資料:

db.wq.find()

} }

} }

} }

}

關於mongodb的group分組

Java中實現MongoDB的Group功能

介面方法如下 keycolumn new string condition 查詢條件 可為空 initial 分組統計初始變數,為空時自動為每列提供初始變數 reduce 記錄處理function finalize finalize函式,可為空 public basicdblist group st...

關於AD的操作 Group類

namespace tb.adblock internal group directoryentry entry this.parse entry internal group searchresult result this.parse result public void add string ...

(二十四)mongodb中group的問題二

今天的工作還是繼續昨天沒有完成的,由於對mongodb資料庫的不熟悉,導致昨天的思路上也出了一點問題,我需要查詢出同乙個ruleid中不同的processingid的條數,然後根據條數來排列先後順序,如果條數相等的情況下,就根據updatetime再排序。昨天的思路是先按數量排序,然後再根據rule...