簡介
什麼是MongoDB?
MongoDB 是由C++語言編寫的,是一個基於分散式檔案儲存的開源資料庫系統。
在高負載的情況下,新增更多的節點,可以保證伺服器效能。
MongoDB 旨在為WEB應用提供可擴充套件的高效能資料儲存解決方案。
MongoDB 將資料儲存為一個文件,資料結構由鍵值(key=>value)對組成。MongoDB 文件類似於 JSON 物件。欄位值可以包含其他文件,陣列及文件陣列。
主要特點
# MongoDB 是一個面向文件儲存的資料庫,操作起來比較簡單和容易。
# 你可以在MongoDB記錄中設定任何屬性的索引 (如:FirstName="Sa
meer",Address="8 Gandhi Road")來實現更快的排序。
# 你可以通過本地或者網路建立資料映象,這使得MongoDB有更強的擴充套件性。
# 如果負載的增加(需要更多的儲存空間和更強的處理能力)
,它可以分佈在計算機網路中的其他節點上這就是所謂的分片。
# Mongo支援豐富的查詢表示式。查詢指令使用JSON形式的標記,可輕易查詢文件中內嵌的物件及陣列。
# MongoDb 使用update()命令可以實現替換完成的文件(資料)或者一些指定的資料欄位 。
# Mongodb中的Map/reduce主要是用來對資料進行批量處理和聚合操作。
# Map和Reduce。Map函式呼叫emit(key,value)遍歷集合中所有的記錄,將key與value傳給Reduce函式進行處理。
# Map函式和Reduce函式是使用Javascript編寫的,並可以通過db.runCommand或mapreduce命令來執行MapReduce操作。
# GridFS是MongoDB中的一個內建功能,可以用於存放大量小檔案。
# MongoDB允許在服務端執行指令碼,可以用Javascript編寫某個函式,直接在服務端執行,也可以把函式的定義儲存在服務端,下次直接呼叫即可。
# MongoDB支援各種程式語言:RUBY,PYTHON,JAVA,C++,PHP,C#等多種語言。
# MongoDB安裝簡單。
MongoDB工具
監控
MongoDB提供了網路和系統監控工具Munin,它作為一個外掛應用於MongoDB中。
Gangila是MongoDB高效能的系統監視的工具,它作為一個外掛應用於MongoDB中。
基於圖形介面的開源工具 Cacti, 用於檢視CPU負載, 網路頻寬利用率,它也提供了一個應用於監控 MongoDB 的外掛。
GUI
# Fang of Mongo – 網頁式,由Django和jQuery所構成。
# Futon4Mongo – 一個CouchDB Futon web的mongodb山寨版
# Mongo3 – Ruby寫成。
# MongoHub – 適用於OSX的應用程式。
# Opricot – 一個基於瀏覽器的MongoDB控制檯, 由PHP撰寫而成。
# Database Master — Windows的mongodb管理工具
# RockMongo — 最好的PHP語言的MongoDB管理工具,輕量級, 支援多國語言.
MongoDB應用案例
# Craiglist上使用MongoDB的存檔數十億條記錄。
# FourSquare,基於位置的社交網站,在Amazon EC2的伺服器上使用MongoDB分享資料。
# Shutterfly,以網際網路為基礎的社會和個人出版服務,使用MongoDB的各種永續性資料儲存的要求。
# bit.ly, 一個基於Web的網址縮短服務,使用MongoDB的儲存自己的資料。
# spike.com,一個MTV網路的聯營公司, spike.com使用MongoDB的。
# Intuit公司,一個為小企業和個人的軟體和服務提供商,為小型企業使用MongoDB的跟蹤使用者的資料。
# sourceforge.net,資源網站查詢,建立和釋出開源軟體免費,使用MongoDB的後端儲存。
# etsy.com ,一個購買和出售手工製作物品網站,使用MongoDB。
# 紐約時報,領先的線上新聞入口網站之一,使用MongoDB。
# CERN,著名的粒子物理研究所,歐洲核子研究中心大型強子對撞機的資料使用MongoDB。
部署MongoDB
下載解壓Mongo.tar包
# 下載地址
https://www.mongodb.com/download-center#community
curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz
tar xf mongodb-linux-x86_64-3.0.6.tgz -C /usr/local/
mv /usr/local/mongodb-linux-x86_64-3.0.6/ /usr/local/mongodb
tail -1 /etc/bashrc
export PATH=/usr/local/mongodb/bin:$PATH
source /etc/bashrc
建立資料庫目錄
MongoDB的資料儲存在data目錄的db目錄下,但是這個目錄在安裝過程不會自動建立,所以你需要手動建立data目錄,並在data目錄中建立db目錄。
以下例項中我們將data目錄建立於根目錄下(/)。
注意:/data/db 是 MongoDB 預設的啟動的資料庫路徑(--dbpath)。
mkdir -p /data/db
啟動服務
你可以再命令列中執行mongo安裝目錄中的bin目錄執行mongod命令來啟動mongdb服務。
注意:如果你的資料庫目錄不是/data/db,可以通過 --dbpath 來指定。
mongod
2020-06-19T09:56:51.152+0800 I STORAGE [initandlisten]
2020-06-19T09:56:51.152+0800 I STORAGE [initandlisten] ** WARNING: Readahead for /data/db is set to 4096KB
2020-06-19T09:56:51.152+0800 I STORAGE [initandlisten] ** We suggest setting it to 256KB (512 sectors) or less
2020-06-19T09:56:51.152+0800 I STORAGE [initandlisten] ** http://dochub.mongodb.org/core/readahead
MongoDB後臺管理Shell
如果你需要進入MongoDB後臺管理,你需要先開啟mongodb裝目錄的下的bin目錄,然後執行mongo命令檔案。
MongoDB Shell是MongoDB自帶的互動式Javascript shell,用來對MongoDB進行操作和管理的互動式環境。
當你進入mongoDB後臺後,它預設會連結到 test 文件(資料庫):
# 啟動mongod服務後,再執行mongo就會進入下面命令列
mongo
MongoDB shell version: 3.0.6
connecting to: test
Welcome to the MongoDB shell.
# 新版本MongDB增加了安全性設計,推薦使用者建立使用資料庫時進行驗證。如果使用者想建立簡單連線,則會提示警示資訊
#建立管理員賬號並設定密碼:
>use admin
switched to db admin
> db.createUser( {user: "firstadmin",pwd: "123456",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]});
Successfully added user: {
"user" : "firstadmin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
# 由於它是一個JavaScript shell,還可以執行一些簡單的算術運算
> 1+1
2
> 10000+20000
30000
# 我們可以插入一些簡單的資料,並對插入資料進行檢索
> db.youmen.insert({x:10})
# 這個命令表示將數字10插入到youmen集合的x欄位中
WriteResult({ "nInserted" : 1 })
> db.youmen.find()
{ "_id" : ObjectId("5eec1c706808f6fb8fbda718"), "x" : 10 }
MongoDB Web使用者介面
MongoDB 提供了簡單的 HTTP 使用者介面。 如果你想啟用該功能,需要在啟動的時候指定引數 --rest 。
mongod --dbpath=/data/db --rest
# MongoDB 的 Web 介面訪問埠比服務的埠多1000。
# 如果你的MongoDB執行埠使用預設的27017,你可以在埠號為28017訪問web使用者介面,即地址為:http://localhost:28017
MongoDB概念解析
SQL術語/概念 | MongoDB術語/概念 | 解釋/說明 |
---|---|---|
database | database | 資料庫 |
table | collection | 資料庫表/集合 |
row | document | 資料記錄行/文件 |
column | field | 資料欄位/域 |
index | index | 索引 |
table joins | 表連線,MongoDB不支援 | |
primary key | primary key | 主鍵,MongoDB自動將_id欄位設定為主鍵 |
通過下圖例項,我們也可以直觀的瞭解Mongo中的一些概念
資料庫
一個mongodb中可以建立多個資料庫。
MongoDB的預設資料庫為"db",該資料庫儲存在data目錄中。
MongoDB的單個例項可以容納多個獨立的資料庫,每一個都有自己的集合和許可權,不同的資料庫也放置在不同的檔案中。
"show dbs" 命令可以顯示所有資料的列表。
> show dbs
local 0.078GB
test 0.078GB
# db顯示當前資料庫物件或集合
> db
test
# use命令,連線到一個指定的資料庫
> use local
switched to db local
> db
local
資料庫也通過名字來標識。資料庫名可以是滿足以下條件的任意UTF-8字串。
# 不能是空字串("")。
# 不得含有' '(空格)、.、$、/、\和\0 (空字元)。
# 應全部小寫。
# 最多64位元組。
有一些資料庫名是保留的,可以直接訪問這些有特殊作用的資料庫。
admin: 從許可權的角度來看,這是"root"資料庫。要是將一個使用者新增到這個資料庫,這個使用者自動繼承所有資料庫的許可權。一些特定的伺服器端命令也只能從這個資料庫執行,比如列出所有的資料庫或者關閉伺服器。
local: 這個資料永遠不會被複制,可以用來儲存限於本地單臺伺服器的任意集合
config: 當Mongo用於分片設定時,config資料庫在內部使用,用於儲存分片的相關資訊。
文件(Document)
文件是一組鍵值(key-value)對(即 BSON)。MongoDB 的文件不需要設定相同的欄位,並且相同的欄位不需要相同的資料型別,這與關係型資料庫有很大的區別,也是 MongoDB 非常突出的特點。
一個簡單的文件例子如下:
{"site":"www.youmen.com", "name":"幽夢"}
下表列出了RDBMS與MongoDB對應的術語
RDBMS | MongoDB |
---|---|
資料庫 | 資料庫 |
表格 | 集合 |
行 | 文件 |
列 | 欄位 |
表聯合 | 嵌入文件 |
主鍵 | 主鍵 (MongoDB 提供了 key 為 _id ) |
資料庫服務和客戶端 | |
Mysqld/Oracle | mongod |
mysql/sqlplus | mongo |
需要注意的是
# 1. 文件中的鍵/值對是有序的。
# 2. 文件中的值不僅可以是在雙引號裡面的字串,還可以是其他幾種資料型別(甚至可以是整個嵌入的文件)。
# 3. MongoDB區分型別和大小寫。
# 4. MongoDB的文件不能有重複的鍵。
# 5. 文件的鍵是字串。除了少數例外情況,鍵可以使用任意UTF-8字元。
# 文件鍵命名規範:
# 鍵不能含有\0 (空字元)。這個字元用來表示鍵的結尾。
# .和$有特別的意義,只有在特定環境下才能使用。
# 以下劃線"_"開頭的鍵是保留的(不是嚴格要求的)。
集合
集合就是 MongoDB 文件組,類似於 RDBMS (關聯式資料庫管理系統:Relational Database Management System)中的表格。
集合存在於資料庫中,集合沒有固定的結構,這意味著你在對集合可以插入不同格式和型別的資料,但通常情況下我們插入集合的資料都會有一定的關聯性。
比如,我們可以將以下不同資料結構的文件插入到集合中:
{"site":"www.baidu.com"}
{"site":"www.google.com","name":"Google"}
{"site":"www.youmen.com","name":"幽夢","num":5}
當第一個文件被插入時,集合就會被建立
合法的集合名
# 集合名不能是空字串""。
# 集合名不能含有\0字元(空字元),這個字元表示集合名的結尾。
# 集合名不能以"system."開頭,這是為系統集合保留的字首。
# 使用者建立的集合名字不能含有保留字元。有些驅動程式的確支援在集合名裡面包含,這是因為某些系統生成的集合中包含該字元。除非你要訪問這種系統建立的集合,否則千萬不要在名字裡出現$。
Capped Collections
Capped collections 就是固定大小的collection。
它有很高的效能以及佇列過期的特性(過期按照插入的順序). 有點和 "RRD" 概念類似。
Capped collections 是高效能自動的維護物件的插入順序。它非常適合類似記錄日誌的功能和標準的 collection 不同,你必須要顯式的建立一個capped collection,指定一個 collection 的大小,單位是位元組。collection 的資料儲存空間值提前分配的。
Capped collections 可以按照文件的插入順序儲存到集合中,而且這些文件在磁碟上存放位置也是按照插入順序來儲存的,所以當我們更新Capped collections 中文件的時候,更新後的文件不可以超過之前文件的大小,這樣話就可以確保所有文件在磁碟上的位置一直保持不變。
由於 Capped collection 是按照文件的插入順序而不是使用索引確定插入位置,這樣的話可以提高增添資料的效率。MongoDB 的操作日誌檔案 oplog.rs 就是利用 Capped Collection 來實現的。
要注意的是指定的儲存大小包含了資料庫的頭資訊。
db.createCollection("mycoll", {capped:true, size:100000})
在 capped collection 中,你能新增新的物件。
能進行更新,然而,物件不會增加儲存空間。如果增加,更新就會失敗 。
使用 Capped Collection 不能刪除一個文件,可以使用 drop() 方法刪除 collection 所有的行。
刪除之後,你必須顯式的重新建立這個 collection。
在32bit機器中,capped collection 最大儲存為 1e9( 1X109)個位元組。
後設資料
資料庫的資訊是儲存在集合中。它們使用了系統的名稱空間:
dbname.system.*
在MongoDB資料庫中名字空間 <dbname>.system.* 是包含多種系統資訊的特殊集合(Collection),如下:
集合名稱空間 | 描述 |
---|---|
dbname.system.namespaces | 列出所有名字空間。 |
dbname.system.indexes | 列出所有索引。 |
dbname.system.profile | 包含資料庫概要(profile)資訊。 |
dbname.system.users | 列出所有可訪問資料庫的使用者。 |
dbname.local.sources | 包含複製對端(slave)的伺服器資訊和狀態。 |
對於修改系統集合中的物件有如下限制。
在{{system.indexes}}插入資料,可以建立索引。但除此之外該表資訊是不可變的(特殊的drop index命令將自動更新相關資訊)。
{{system.users}}是可修改的。 {{system.profile}}是可刪除的。
MongoDB資料型別
資料型別 | 描述 |
---|---|
String | 字串。儲存資料常用的資料型別。在 MongoDB 中,UTF-8 編碼的字串才是合法的。 |
Integer | 整型數值。用於儲存數值。根據你所採用的伺服器,可分為 32 位或 64 位。 |
Boolean | 布林值。用於儲存布林值(真/假)。 |
Double | 雙精度浮點值。用於儲存浮點值。 |
Min/Max keys | 將一個值與 BSON(二進位制的 JSON)元素的最低值和最高值相對比。 |
Array | 用於將陣列或列表或多個值儲存為一個鍵。 |
Timestamp | 時間戳。記錄文件修改或新增的具體時間。 |
Object | 用於內嵌文件。 |
Null | 用於建立空值。 |
Symbol | 符號。該資料型別基本上等同於字串型別,但不同的是,它一般用於採用特殊符號型別的語言。 |
Date | 日期時間。用 UNIX 時間格式來儲存當前日期或時間。你可以指定自己的日期時間:建立 Date 物件,傳入年月日資訊。 |
Object ID | 物件 ID。用於建立文件的 ID。 |
Binary Data | 二進位制資料。用於儲存二進位制資料。 |
Code | 程式碼型別。用於在文件中儲存 JavaScript 程式碼。 |
Regular expression | 正規表示式型別。用於儲存正規表示式。 |
下面說明幾種重要的資料型別
ObjectId 類似唯一主鍵,可以很快的去生成和排序,包含 12 bytes,含義是:
# 前 4 個位元組表示建立 **unix** 時間戳,格林尼治時間 **UTC** 時間,比北京時間晚了 8 個小時
# 接下來的 3 個位元組是機器標識碼
# 緊接的兩個位元組由程式 id 組成 PID
# 最後三個位元組是隨機
MongoDB 中儲存的文件必須有一個 _id 鍵。這個鍵的值可以是任何型別的,預設是個 ObjectId 物件
由於 ObjectId 中儲存了建立的時間戳,所以你不需要為你的文件儲存時間戳欄位,你可以通過 getTimestamp 函式來獲取文件的建立時間:
> var newObject = ObjectId()
> newObject.getTimestamp()
ISODate("2020-06-19T02:44:34Z")
Objectid轉換為字串
> newObject.str
5eec2692383608904cb30cb6
字串
BSON 字串都是 UTF-8 編碼
時間戳
BSON 有一個特殊的時間戳型別用於 MongoDB 內部使用,與普通的 日期 型別不相關。 時間戳值是一個 64 位的值。其中:
# 前32位是一個 time_t 值(與Unix新紀元相差的秒數)
# 後32位是在某秒中操作的一個遞增的`序數`
在單個 mongod 例項中,時間戳值通常是唯一的。
在複製集中, oplog 有一個 ts 欄位。這個欄位中的值使用BSON時間戳表示了操作時間。
BSON 時間戳型別主要用於 MongoDB 內部使用。在大多數情況下的應用開發中,你可以使用 BSON 日期型別。
日期
表示當前距離 Unix新紀元(1970年1月1日)的毫秒數。日期型別是有符號的, 負數表示 1970 年之前的日期。
> var mydate1 = new Date()
> mydate1
ISODate("2020-06-19T02:49:22.128Z")
> var mydate2 = ISODate()
> mydate2
ISODate("2020-06-19T02:47:44.664Z")
# 這樣建立的時間是日期型別,可以使用 JS 中的 Date 型別的方法。
# 返回一個時間型別的字串:
> var mydate1str = mydate1.toString()
> mydate1str
Fri Jun 19 2020 10:49:22 GMT+0800 (CST)
> typeof mydate1str
string
OR
> Date()
Fri Jun 19 2020 10:53:15 GMT+0800 (CST)
MongoDB常用命令及配置檔案引數詳解
命令引數詳解
--logpath # 日誌檔案路徑
--master # 指定為主機器
--slave # 指定為從機器
--source # 指定主機器的IP地址
--pologSize # 指定日誌檔案大小不超過64M.因為resync是非常操作量大且耗時,最好通過設定一個足夠大的oplogSize來避免resync(預設的 oplog大小是空閒磁碟大小的5%)。
--logappend # 日誌檔案末尾新增
--port # 啟用埠號
--fork # 在後臺執行
--only # 指定只複製哪一個資料庫
--slavedelay # 指從複製檢測的時間間隔
--auth # 是否需要驗證許可權登入(使用者名稱和密碼)
-h [ --help ] # show this usage information
--version # show version information
-f [ --config ] arg # configuration file specifying additional options
--port arg # specify port number
--bind_ip arg # local ip address to bind listener - all local ips
bound by default
-v [ --verbose ] # be more verbose (include multiple times for more
verbosity e.g. -vvvvv)
--dbpath arg (=/data/db/) # directory for datafiles 指定資料存放目錄
--quiet # quieter output 靜默模式
--logpath arg # file to send all output to instead of stdout 指定日誌存放目錄
--logappend # appnd to logpath instead of over-writing 指定日誌是以追加還是以覆蓋的方式寫入日誌檔案
--fork # fork server process 以建立子程式的方式執行
--cpu # periodically show cpu and iowait utilization 週期性的顯示cpu和io的使用情況
--noauth # run without security 無認證模式執行
--auth # run with security 認證模式執行
--objcheck # inspect client data for validity on receipt 檢查客戶端輸入資料的有效性檢查
--quota # enable db quota management 開始資料庫配額的管理
--quotaFiles arg # number of files allower per db, requires --quota 規定每個資料庫允許的檔案數
--appsrvpath arg # root directory for the babble app server
--nocursors # diagnostic/debugging option 除錯診斷選項
--nohints # ignore query hints 忽略查詢命中率
--nohttpinterface # disable http interface 關閉http介面,預設是28017
--noscripting # disable scripting engine 關閉指令碼引擎
--noprealloc # disable data file preallocation 關閉資料庫檔案大小預分配
--smallfiles # use a smaller default file size 使用較小的預設檔案大小
--nssize arg (=16) # .ns file size (in MB) for new databases 新資料庫ns檔案的預設大小
--diaglog arg # 0=off 1=W 2=R 3=both 7=W+some reads 提供的方式,是隻讀,只寫,還是讀寫都行,還是主要寫+部分的讀模式
--sysinfo # print some diagnostic system information 列印系統診斷資訊
--upgrade # upgrade db if needed 如果需要就更新資料庫
--repair # run repair on all dbs 修復所有的資料庫
--notablescan # do not allow table scans 不執行表掃描
--syncdelay arg (=60) # seconds between disk syncs (0 for never) 系統同步重新整理磁碟的時間,預設是60s
Replication options:
--master # master mode 主複製模式
--slave # slave mode 從複製模式
--source arg # when slave: specify master as <server:port> 當為從時,指定主的地址和埠
--only arg # when slave: specify a single database to replicate 當為從時,指定需要從主複製的單一庫
--pairwith arg # address of server to pair with
--arbiter arg # address of arbiter server 仲裁伺服器,在主主中和pair中用到
--autoresync # automatically resync if slave data is stale 自動同步從的資料
--oplogSize arg # size limit (in MB) for op log 指定操作日誌的大小
--opIdMem arg # size limit (in bytes) for in memory storage of op ids指定儲存操作日誌的記憶體大小
Sharding options:
--configsvr # declare this is a config db of a cluster 指定shard中的配置伺服器
--shardsvr # declare this is a shard db of a cluster 指定shard伺服器
其他配置引數含義
--quiet # 安靜輸出
--port arg # 指定服務埠號,預設埠27017
--bind_ip arg # 繫結服務IP,若繫結127.0.0.1,則只能本機訪問,不指定預設本地所有IP
--logpath arg # 指定MongoDB日誌檔案,注意是指定檔案不是目錄
--logappend # 使用追加的方式寫日誌
--pidfilepath arg # PID File 的完整路徑,如果沒有設定,則沒有PID檔案
--keyFile arg # 叢集的私鑰的完整路徑,只對於Replica Set 架構有效
--unixSocketPrefix arg # UNIX域套接字替代目錄,(預設為 /tmp)
--fork # 以守護程式的方式執行MongoDB,建立伺服器程式
--auth # 啟用驗證
--cpu # 定期顯示CPU的CPU利用率和iowait
--dbpath arg # 指定資料庫路徑
--diaglog arg # diaglog選項 0=off 1=W 2=R 3=both 7=W+some reads
--directoryperdb # 設定每個資料庫將被儲存在一個單獨的目錄
--journal # 啟用日誌選項,MongoDB的資料操作將會寫入到journal資料夾的檔案裡
--journalOptions arg # 啟用日誌診斷選項
--ipv6 # 啟用IPv6選項
--jsonp # 允許JSONP形式通過HTTP訪問(有安全影響)
--maxConns arg # 最大同時連線數 預設2000
--noauth # 不啟用驗證
--nohttpinterface # 關閉http介面,預設關閉27018埠訪問
--noprealloc # 禁用資料檔案預分配(往往影響效能)
--noscripting # 禁用指令碼引擎
--notablescan # 不允許表掃描
--nounixsocket # 禁用Unix套接字監聽
--nssize arg (=16) # 設定信資料庫.ns檔案大小(MB)
--objcheck # 在收到客戶資料,檢查的有效性,
--profile arg # 檔案引數 0=off 1=slow, 2=all
--quota # 限制每個資料庫的檔案數,設定預設為8
--quotaFiles arg # number of files allower per db, requires --quota
--rest # 開啟簡單的rest API
--repair # 修復所有資料庫run repair on all dbs
--repairpath arg # 修復庫生成的檔案的目錄,預設為目錄名稱dbpath
--slowms arg (=100) # value of slow for profile and console log
--smallfiles # 使用較小的預設檔案
--syncdelay arg (=60) # 資料寫入磁碟的時間秒數(0=never,不推薦)
--sysinfo # 列印一些診斷系統資訊
--upgrade # 如果需要升級資料庫
#Replicaton 引數
--fastsync # 從一個dbpath裡啟用從庫複製服務,該dbpath的資料庫是主庫的快照,可用於快速啟用同步
--autoresync # 如果從庫與主庫同步資料差得多,自動重新同步,
--oplogSize arg # 設定oplog的大小(MB)
#主/從引數
--master # 主庫模式
--slave # 從庫模式
--source arg # 從庫 埠號
--only arg # 指定單一的資料庫複製
--slavedelay arg # 設定從庫同步主庫的延遲時間
#Replica set(副本集)選項:
--replSet arg # 設定副本集名稱
#Sharding(分片)選項
--configsvr # 宣告這是一個叢集的config服務,預設埠27019,預設目錄/data/configdb
--shardsvr # 宣告這是一個叢集的分片,預設埠27018
--noMoveParanoia # 關閉偏執為moveChunk資料儲存
配置檔案引數詳解
# 簡單示例
# 資料庫資料存放目錄
dbpath=/usr/local/mongodb/data
# 資料庫日誌存放目錄
logpath=/usr/local/mongodb/logs/mongodb.log
# 以追加的方式記錄日誌
logappend = true
# 埠號 預設為27017
port=27017
# 以後臺方式執行程式
fork=true
# 開啟使用者認證
auth=true
# 關閉http介面,預設關閉http埠訪問
#nohttpinterface=true
# mongodb所繫結的ip地址
#bind_ip = 127.0.0.1
# 啟用日誌檔案,預設啟用
journal=true
# 這個選項可以過濾掉一些無用的日誌資訊,若需要除錯使用請設定為false
quiet=true