【MongoDB】MongoDB之七大實現技巧
來源:懂視網
責編:小采
時間:2020-11-09 14:15:13
【MongoDB】MongoDB之七大實現技巧
【MongoDB】MongoDB之七大實現技巧:技巧一、使用正確的類型 用正確的類型存放數據大有裨益。數據類型影響數據的查詢方式、數據存放順序和以及占用多少空間。 數字:做為數字使用的字段就用數字存儲。也就是做計算或按照大小排序的字段數據庫會自動轉換溢出的(比如由于$inc操作導致的溢出) 3
導讀【MongoDB】MongoDB之七大實現技巧:技巧一、使用正確的類型 用正確的類型存放數據大有裨益。數據類型影響數據的查詢方式、數據存放順序和以及占用多少空間。 數字:做為數字使用的字段就用數字存儲。也就是做計算或按照大小排序的字段數據庫會自動轉換溢出的(比如由于$inc操作導致的溢出) 3

技巧一、使用正確的類型 用正確的類型存放數據大有裨益。數據類型影響數據的查詢方式、數據存放順序和以及占用多少空間。 數字:做為數字使用的字段就用數字存儲。也就是做計算或按照大小排序的字段數據庫會自動轉換溢出的(比如由于$inc操作導致的溢出) 32
技巧一、使用正確的類型
用正確的類型存放數據大有裨益。數據類型影響數據的查詢方式、數據存放順序和以及占用多少空間。
數字:做為數字使用的字段就用數字存儲。也就是做計算或按照大小排序的字段
數據庫會自動轉換溢出的(比如由于$inc操作導致的溢出) 32位浮點數,將其變為64位整數。
日期:一班的用yyy-mm-dd形式的字符串就可以,如果date類型就會總會匹配到毫秒級別
objectId就要作為objectId存儲,千萬不要存成字符串。這點非常重要,原因是方便查詢 二是objectd中含有用的信息,絕大多數驅動都是從有方法中獲得文檔的創建日期。 第三objectId表示要多占兩陪的磁盤空間。
技巧二、用簡單唯一的id替代_id
要是數據庫沒用唯一的字段,那么就用默認的objetId來做_id。但是若是數據本身就有唯一的字段,并且不需要objectId的功能,那么就用自己唯一的之覆蓋默認的id就好了。
技巧三、不要用文檔做_id
除了不可避免的情況(mapreduce的輸出),通常都不應該將文檔作為_id。問題在于索引一個文檔中的字段和索引文檔完全不一樣。如果沒有每次查詢每個子文檔的計劃,最后會有多個索引。
技巧四、不要用數據庫引用
數據庫引用一般形式是:{$id:主鍵,$ref:collectionName}(也可以有可選的$db字段,表示數據庫)。若被引用的文檔集合是確定的,不妨只用_id引用,這樣就同時比用Id和集合名要節省空間。 如果知道要引用的集合,數據庫引用就顯得浪費空間。
技巧五、不要用GridFS處理小的二進制數據
GridFS需要查詢兩次,一次獲取文件的元信息,另一次獲取內容,所以如果用GridFS存儲小文件,會使應用查詢次數加倍。從根本上說,GridFS是用來將大的二進制對象切成小片存在數據庫中。
技巧六、處理“無縫”故障切換
假設發送給服務器一個請求,得到了網絡錯誤,這時驅動有很多選擇。若驅動知道有另一臺服務器是否自動對其發送請求?要是驅動發送原請求后發生網絡故障,或者在服務端響應時候發送故障怎么辦?數據庫可能已經處理了請求,就不必再次發送。
技巧七、處理復制組失效以及故障恢復
可能出現的情況:
應用拋出異常“not master”異常可能原因:1 . 復制組正在進行故障恢復 2, 網絡狀況不好,無法鏈接誒主節點。3.應用鏈接節點有問題,無法降級為只讀節點。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
【MongoDB】MongoDB之七大實現技巧
【MongoDB】MongoDB之七大實現技巧:技巧一、使用正確的類型 用正確的類型存放數據大有裨益。數據類型影響數據的查詢方式、數據存放順序和以及占用多少空間。 數字:做為數字使用的字段就用數字存儲。也就是做計算或按照大小排序的字段數據庫會自動轉換溢出的(比如由于$inc操作導致的溢出) 3