溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

mongodb統(tǒng)計(jì)數(shù)據(jù)的方式

發(fā)布時(shí)間:2020-06-29 13:40:04 來(lái)源:億速云 閱讀:303 作者:清晨 欄目:編程語(yǔ)言

這篇文章主要介紹mongodb統(tǒng)計(jì)數(shù)據(jù)的方式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

用mongodb中的aggregate統(tǒng)計(jì)數(shù)據(jù):

應(yīng)用一:統(tǒng)計(jì)name的數(shù)量和總數(shù);

db.collection.aggregate([
  {$group:{_id:"$name",count:{$sum:1},total:{$sum:"$num"}}
]);

應(yīng)用二:統(tǒng)計(jì)status=1的name的數(shù)量;

db.collection.aggregate([
  {$match:{status:1}},
  {$group:{_id:"$name",count:{$sum:1}}}
]);

應(yīng)用三:統(tǒng)計(jì)name的數(shù)量,并且數(shù)量為小于2的;

db.collection.aggregate([
  {$group:{_id:"$name",count:{$sum:1}},
  {$match:{count:{$lt:2}}}
]);

應(yīng)用四:統(tǒng)計(jì)stauts=1的name的數(shù)量,并且數(shù)量為1的;

db.collection.aggregate([
  {$match:{status:1}},
  {$group:{_id:"$name",count:{$sum:1}}},
  {$match:{count:1}}
]);

多列g(shù)roup,根據(jù)name和status進(jìn)行多列

db.collection.aggregate([
  {$group:{_id:{name:"$name",st:"$status"},count:{$sum:1}}}
]);
 
$project該操作符很簡(jiǎn)單,
db.collection.aggregate([
  {$project:{name:1,status:1}}
]);

結(jié)果是,只有_id,name,status三個(gè)字段的表數(shù)據(jù),相當(dāng)于sql表達(dá)式 select _id,name,status from collection

操作符介紹:

$project:包含、排除、重命名和顯示字段

$match:查詢(xún),需要同find()一樣的參數(shù)

$limit:限制結(jié)果數(shù)量

$skip:忽略結(jié)果的數(shù)量

$sort:按照給定的字段排序結(jié)果

$group:按照給定表達(dá)式組合結(jié)果

$unwind:分割嵌入數(shù)組到自己頂層文件

以上是mongodb統(tǒng)計(jì)數(shù)據(jù)的方式的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI