MongoDB 4個使用技巧

1. 使用64位的版本數據庫

32位的版本最多隻能存儲2.5GB的數據。固然,若是隨便玩玩的話,這可能已經足夠了。可是當你開始配置你的生產性(或用於演示的)系統的時候,記住要選擇64位的版本,由於之後你沒法經過「修復」來解決這個問題,你只能從新安裝。安全

2.在另一臺機器上建立一個從數據庫服務器

若是你的MongoDB實例崩潰了(或者因爲OOM掛掉了,或者整個系統都崩潰了),那麼誰也沒法保證你的數據會怎麼樣。你能夠進行修復,可是這有 點像運行fsck或買×××——你永遠都沒法知道你將會獲得什麼結果。因此你應該建立一個從數據庫(或者作一個「replica set」),而且,你應該把這個從數據庫放到另一個服務器上。若是一個VPS(Virtual Private Server 虛擬專用服務器)恰好能夠知足你的(或其餘人的)須要,那麼這的確是一件麻煩事,可是,若是你珍惜你的數據的話,這是不可避免的。網絡

3.讓它更安全異步

在默認狀況下,MongoDB不會進行身份驗證,而且,它會監聽全部的網絡接口(對於你直接從他們的官方站點上得到的那個版原本說,這就是事實;各 種Linux發行版(例如:Debian 和 Ubuntu)在默認狀況下,都只綁定到127.0.0.1,這是十分明智的),這就是說,在世界上的任何地方,任何人均可以訪問你的數據庫。若是你在一 個面向公衆的服務器上使用它,那麼這的確是一個問題。你能夠把它設置成必須進行身份驗證,也可讓MongoDB只監聽localhost。我比較喜歡後 者,由於在個人服務器上,我是惟一一個用戶。ide

4.老是使用getLastError函數

若是你不須要閃電般的速度,花一點時間來確保你的變動對於這個數據庫來講是OK的,而且對數據進行修改並無形成什麼問題絕對是值得的——若是存在 什麼問題的話,那麼應該在你的應用程序中把它們記錄下來,讓你知道數據庫發生了一些故障。或者,若是你肯定你須要使用getLastEror(),那麼至 少不要混合使用,也不要在同一個集合上使用它。MongoDB沒法確保命令會按照指定的順序來執行。在個人測試代碼中,我作了一個「異步 的」remove()調用(也就是說,我無需等待這個函數執行完畢),而後,在remove()愉快地移除它們(可能已經把它們所有移除,也可能只是移除 了其中的一部分,還可能什麼也沒有移除,這主要取決於競爭)之前,我插入了一些新的條目測試

相關文章
相關標籤/搜索