1啟動mongodb服務(同時指定存放“資料庫”的檔案夾)
只有啟動了MongoDB的服務,才能使用MongoDB的功能,通常情況下會開一個命令視窗,輸入下面的命令來啟動服務(也可以將服務註冊到windows中,然後在服務管理中啟動它): F:\Mongo3.0.11\bin>mongod -dbpath "F:\Mongo3.0.11\mydb"
其中“mydb”是存放使用者建立的所有資料庫檔案的檔案夾(這裡的資料庫是mongodb中"資料庫"即database、“集合”即collections、“文檔”即documents中的database概念)。
這就表示:mongodb服務已經開啟,使用者操作的所有資料都存放在"mydb"這個檔案下。服務啟動後,mongodb會在mydb這個空檔案下建立如下內容,這些是mongodb自動建立的,不要動:
通過視覺化檢視robomongodb查看“mydb”檔案夾下的所有資料,如下:
上圖中表示,我在“mydb”檔案夾下,建立了兩個資料庫“111”和"mydb";在“111”資料庫下,建立了一個user集合,user集合下包含了一個文檔{name:'willson',gender:'man',age:'28'},_id是mongodb自己產生的id。
建立了兩個資料庫“111”和"mydb"之後,mongodb存放資料檔案的檔案夾,變化如下:
說明
每個資料庫有相應的資料檔案和命名空間檔案。檔案的首碼是資料庫的名稱,尾碼.ns表示命名空間檔案,尾碼以.0、.1等數字結尾的,表示資料檔案。
資料檔案的大小從64MB開始(這是在64位Windows Server 2012上看到的結果,其他環境可能有些差異),新的資料檔案比上一個檔案大一倍。所以能看到,chen.0的大小是64MB,chen.1的大小是128MB,chen.2是256MB。
檔案使用MMAP進行記憶體映射,會將所有的資料檔案映射到記憶體中,但是只是虛擬記憶體,只有訪問到這塊資料時才會交換到物力記憶體中。
每個資料檔案會被分成一個一個的資料區塊,塊與塊之間用雙向鏈錶鏈接。
在命名空間檔案中,儲存了每個命名空間的儲存資訊中繼資料,包括其大小、塊數、第一塊的位置、最後一塊的位置、被刪除的塊的鏈表以及索引資訊。
===============================總結===============================================
所以使用mongodb很簡單,只要將服務開啟就行了(但是mongodb某個時間只允許一個mongodb的服務開啟,所以如果已經有一個服務正在開啟,那麼新服務是無法開啟的)。服務開啟後,所有的使用者操作的資料都放在服務啟動時,指定的dbpath即上文中的"mydb"。