手把手教你 MongoDB 的安裝與詳細使用(二)
上一篇文章練習了,MongoDB 的以下操作
安裝 MongoDB 服務
連接 MongoDB
MongoDB 創建資料庫
MongoDB 刪除資料庫
MongoDB 插入文檔
MongoDB 刪除文檔
MongoDB 查詢文檔
MongoDB AND 條件
MongoDB OR 條件
MongoDB AND 和 OR 聯合使用
MongoDB 條件操作符
MongoDB (>) 大於操作符 - $gt
MongoDB(>=)大於等於操作符 - $gte
MongoDB (
MongoDB (
MongoDB 使用 () 查詢 - $lt 和 $gt
手把手教你 MongoDB 的安裝與詳細使用(一)
http://www.ymq.io/2018/01/26/MongoDB-1/
接下來繼續
語法
limit()方法基本語法如下所示:
以上實例為顯示查詢文檔中的兩條記錄:
註:如果你們沒有指定limit()方法中的參數則顯示集合中的所有數據。
Skip() 方法
我們除了可以使用limit()方法來讀取指定數量的數據外,還可以使用skip()方法來跳過指定數量的數據,skip方法同樣接受一個數字參數作為跳過的記錄條數。 語法
skip() 方法腳本語法格式如下:
實例
以上實例只會顯示第二條文檔數據
注:skip()方法默認參數為 0
2. MongoDB 排序MongoDB sort()方法
在MongoDB中使用使用sort()方法對數據進行排序,sort()方法可以通過參數指定排序的欄位
使用 1 和 -1 來指定排序的方式,其中 1 為升序排列,而-1是用於降序排列。
語法
sort()方法基本語法如下所示:
col 集合中的數據如下:
其中 1 為升序排列,而-1是用於降序排列
以下實例演示了 col 集合中的數據按欄位 title 的降序排列:
註: 如果沒有指定sort()方法的排序方式,默認按照文檔的升序排列。
3. MongoDB 索引
索引通常能夠極大的提高查詢的效率,如果沒有索引,MongoDB在讀取數據時必須掃描集合中的每個文件並選取那些符合查詢條件的記錄。
這種掃描全集合的查詢效率是非常低的,特別在處理大量的數據時,查詢可以要花費幾十秒甚至幾分鐘,這對網站的性能是非常致命的。
索引是特殊的數據結構,索引存儲在一個易於遍歷讀取的數據集合中,索引是對資料庫表中一列或多列的值進行排序的一種結構
ensureIndex() 方法
MongoDB使用 ensureIndex() 方法來創建索引。
語法
ensureIndex()方法基本語法格式如下所示:
語法中 Key 值為你要創建的索引欄位,1為指定按升序創建索引,如果你想按降序來創建索引指定為-1即可。
實例
語法中 Key 值為你要創建的索引欄位,1為指定按升序創建索引,如果你想按降序來創建索引指定為-1即可。
實例
ensureIndex() 方法中你也可以設置使用多個欄位創建索引(關係型資料庫中稱作複合索引)。
ensureIndex() 接收可選參數,可選參數列表如下:
實例
在後台創建索引:
建索引過程會阻塞其它資料庫操作,background可指定以後台方式創建索引,即增加 "background" 可選參數。 "background" 默認值為false。
4. MongoDB 聚合
MongoDB 聚合
MongoDB中聚合(aggregate)主要用於處理數據(諸如統計平均值,求和等),並返回計算後的數據結果。有點類似sql語句中的 count(*)。
aggregate() 方法
刪除之前的測試數據
插入新的測試數據
MongoDB中聚合的方法使用aggregate()。
語法
aggregate() 方法的基本語法格式如下所示:
以上實例類似sql語句:
在上面的例子中,我們通過欄位byuser欄位對數據進行分組,並計算byuser欄位相同值的總和。
下表展示了一些聚合的表達式:
管道的概念
管道在Unix和Linux中一般用於將當前命令的輸出結果作為下一個命令的參數。
MongoDB的聚合管道將MongoDB文檔在一個管道處理完畢後將結果傳遞給下一個管道處理。管道操作是可以重複的。
表達式:處理輸入文檔並輸出。表達式是無狀態的,只能用於計算當前聚合管道的文檔,不能處理其它的文檔。
這裡我們介紹一下聚合框架中常用的幾個操作:


TAG:鵬磊科技 |