標籤:
1、排序
sort()方法:其中 1 為升序排列,而-1是用於降序排列。
db.col.find({},{"title":1,_id:0}).sort({"likes":-1})
如果沒有指定sort()方法的排序方式,預設按照文檔的升序排列。
2、索引
ensureIndex() 方法來建立索引。
db.col.ensureIndex({"title":1})
1為指定按升序建立索引,-1為按降序建立索引
也可以設定使用多個欄位建立索引
db.col.ensureIndex({"title":1,"description":-1})
方法主要可接受參數:
3、彙總管道
彙總(aggregate)主要用於處理資料(諸如統計平均值,求和等),並返回計算後的資料結果。有點類似sql語句中的 count(*)。
類似於sql語句:select by_user, count(*) from mycol group by by_user
db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$sum : 1}}}])
彙總常用運算式:
管道
彙總架構中常用的幾個操作:
- $project:修改輸入文檔的結構。可以用來重新命名、增加或刪除域,也可以用於建立計算結果以及嵌套文檔。
- $match:用於過濾資料,只輸出合格文檔。$match使用MongoDB的標準查詢操作。
- $limit:用來限制MongoDB彙總管道返回的文檔數。
- $skip:在彙總管道中跳過指定數量的文檔,並返回餘下的文檔。
- $unwind:將文檔中的某一個數群組類型欄位拆分成多條,每條包含數組中的一個值。
- $group:將集合中的文檔分組,可用於統計結果。
- $sort:將輸入文檔排序後輸出。
- $geoNear:輸出接近某一地理位置的有序文檔。
4、複製
MongoDB複製是將資料同步在多個伺服器的過程。
複製提供了資料的冗餘備份,並在多個伺服器上儲存資料副本,提高了資料的可用性, 並可以保證資料的安全性。
複製還允許您從硬體故障和服務中斷中恢複資料。
mongodb的複製至少需要兩個節點。
其中一個是主節點,負責處理用戶端請求,
其餘的都是從節點,負責複製主節點上的資料。
MongoDB複本集設定
5、分區
在Mongodb裡面存在另一種叢集,就是分區技術,可以滿足MongoDB資料量大量增長的需求。
6、備份與恢複
mongodump
mongodump -h dbhost -d dbname -o dbdirectory
mongorestore
mongorestore -h dbhost -d dbname --directoryperdb dbdirectory
MongoDB升級教程