[MongoDB]count,gourp,distinct


摘要

上篇文章介紹了CRUD的操作,會了這些,基本上可以完成很多工作了。但如果遇到統計類的操作,那么就需要學習下本篇的內容了。

相關文章

[MongoDB]入門操作

[MongoDB]增刪改查

count,gourp,distinct,mapReduce

count

作用類似sql中的count函數,用來計數。

如上圖所示,列舉了不帶參數,帶參數,以及先find后count的方式。

distinct

去重,接收字段參數,語義:按某字段去重。比如上圖中,我們按name去重。

group

顧名思義是分組的意思,與sql中group by相同。但在mongodb中group就比較復雜了。

參數:

key:按照key進行分組。

initial:每組都分享的“初始化函數”。可以在此處初始化一些變量,供每組進行使用。

$reduce:該函數有兩個參數,第一個參數是當前document對象,第二個參數是上次操作的累計對象。collection中有多少個document就會調用多少次$reduce。

condition:過濾條件。

finalize:該函數會在每組document執行完成后,就會調用該函數,可以在這個函數中,做一些后續的工作,比如進行計數操作,統計結果的個數。

例子:根據age進行分組,查找每個年齡段的人員姓名。如圖一所示:

圖一

 計數,分組后,符合條件的user有多少個。

總結

本篇文章介紹了常見的集合聚合操作。其中,group的操作比較麻煩一點。了解group的參數的作用,平時這些命令可以保存一個模板。用到的時候沾過去,在這個的基礎上做修改比較方便點。因為實在太長了。

參考

http://www.cnblogs.com/huangxincheng/archive/2012/02/21/2361205.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM