分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!
mongodb版本號是,mongodb shell version: 2.4.4
操作環境,shell視窗 ,如下所示:
[mongo_user@mongodb_dbs ~]# mongo --port 30100mongodb shell version: 2.4.4connecting to: 127.0.0.1:30000/testmongos> mongos> use
posswitched to db posmongos>
// 這裡分組統計出來取分組欄位paymentorder的值_id、最大的objectid值max_id、分組統計數count
vargroup
=([ ,count: }}, }]
)
備份
/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 var child=ds.result[i]; var count=child.count; //因為上面第二步的}};過濾無效,所以這裡加乙個count>1來過濾掉沒有重複的資料,只對有重複的進行資料處理操作
if(count>1)); //直接find後需要用toarray()來進行處理變成陣列這樣才可以遍歷
var psc=ps.toarray(); for(var j=0; jvar pchild=psc[j]; //將objectid進行遍歷,如果是最大的那條記錄保留,不是就刪除remove掉
if(oid.tostring()==pchild._id.tostring())else); } } } }
by the way:如果你copy我的指令碼,去shell下的mongos客戶端執行報錯,有可能是格式錯誤,你可以去掉所有的換行符號或者你自己手動輸入一遍,去執行,就不會報錯了。
給我老師的人工智慧教程打call!
mongodb 分組查詢統計去掉重複的記錄
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 ...
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...