mongodb 分組查詢統計去掉重複的記錄

2021-09-25 05:35:01 字數 1252 閱讀 4171

mongodb版本號是,mongodb shell version: 2.4.4

操作環境,shell視窗 ,如下所示:

[mongo_user@mongodb_dbs ~]# mongo --port 30100

mongodb shell version: 2.4.4

connecting to: 127.0.0.1:30000/test

mongos>

mongos> use pos

switched to db pos

mongos>

// 這裡分組統計出來取分組欄位paymentorder的值_id、最大的objectid值max_id、分組統計數count

var group=([

,count: }},

}])

var match =}};
var ds=db.paymentinfo.aggregate(group, match);
ps:這裡match無效,出來很多count為1的資料,也就是說', got 'eof' at end of input: …":}};失敗,why? 備份

/usr/local/mongodb/mongodb-linux-x86_64-2.4.4/bin/mongoexport --port 30000 -d pos -c paymentinfo  -o /home/backup/mongodb_pos_paymentinfo_3.txt
這裡ds就是乙個大的結果集,直接用ds.result就可以獲取結果集裡面分組查詢出來的資料:

//下面開始啟用迴圈來遍歷,aggregate出來的result已經具備了陣列的特性,可以直接for迴圈處理

var ds = db.paymentinfo.aggregate(group, match);

for (var i = 0;i 1來過濾掉沒有重複的資料,只對有重複的進行資料處理操作

if(count>1));

//直接find後需要用toarray()來進行處理變成陣列這樣才可以遍歷

var psc=ps.toarray();

for(var j=0; jby the way:如果你copy我的指令碼,去shell下的mongos客戶端執行報錯,有可能是格式錯誤,你可以去掉所有的換行符號或者你自己手動輸入一遍,去執行,就不會報錯了。

mongodb 分組查詢統計去掉重複的記錄

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!mongodb版本號是,mongodb shell version 2.4.4 操作環境,shell視窗 如下所示 mongo user mongodb dbs mongo port 30100mongodb shell version 2.4.4...

LINQ分組查詢統計

var q from p in db.products group p by p.categoryid into g select new 語句描述 linq使用group by和count得到每個categoryid中產品的數量。說明 先按categoryid歸類,取出categoryid值和各個...

MongoDB多條件分組聚合查詢

需要統計某一日期下不同活動不同渠道的呼叫量 db.collectionname.aggregate activitycode channel total mongodb的聚合管道將mongodb文件在乙個管道處理完畢後將結果傳遞給下乙個管道處理 db.collection name.aggregat...