在前面的教程中,我們已經讨論了如何啟動MongoDB服務,你隻需要在MongoDB安裝目錄的bin目錄下執行'mongod'即可。
執行啟動操作後,mongodb在輸出一些必要資訊後不會輸出任何資訊,之後就等待連接配接的建立,當連接配接被建立後,就會開始列印日志資訊。
你可以使用MongoDB shell 來連接配接 MongoDB 伺服器。你也可以使用PHP來連接配接mongodb。本教程我們會使用 MongoDB shell來連接配接Mongodb服務,之後的章節我們将會介紹如何通過php 來連接配接MongoDB服務。
預設情況下,MongoDB的啟動端口為27017。比MongoDB啟動端口大1000的端口為MongoDB的web使用者界面,你可以再浏覽器中輸入http://localhost:28017 來通路MongoDB的web使用者界面。
你可以通過執行以下指令來連接配接MongoDB的服務。
注意:localhost為主機名,這個選項是必須的:
mongodb://localhost
當你執行以上指令時,你可以看到以下輸出結果:

如果你檢查從哪裡連接配接到MongoDB的伺服器,您可以看到如下資訊:
最後一行(标記處),列印了你成功連接配接上MongoDB服務的資訊。
使用使用者名和密碼連接配接到MongoDB伺服器,你必須使用 'username:password@hostname/dbname' 格式,'username'為使用者名,'password' 為密碼。
使用使用者名和密碼連接配接登陸到預設資料庫:<、p>
mongodb://mongo_admin:AxB6_w3r@localhost/
以上指令中,使用者 mongo_admin使用密碼AxB6_w3r連接配接到本地的MongoDB服務上。輸出結果如下所示:<、p>
使用使用者名和密碼連接配接登陸到指定資料庫:
連接配接到指定資料庫的格式如下:
mongodb://mongo_admin:AxB6_w3r@localhost/w3r
連接配接本地資料庫伺服器,端口是預設的。
使用使用者名fred,密碼foobar登入localhost的admin資料庫。
mongodb://fred:foobar@localhost
使用使用者名fred,密碼foobar登入localhost的baz資料庫。
mongodb://fred:foobar@localhost/baz
連接配接 replica pair, 伺服器1為example1.com伺服器2為example2。
mongodb://example1.com:27017,example2.com:27017
連接配接 replica set 三台伺服器 (端口 27017, 27018, 和27019):
mongodb://localhost,localhost:27018,localhost:27019
連接配接 replica set 三台伺服器, 寫入操作應用在主伺服器 并且分布查詢到從伺服器。
mongodb://host1,host2,host3/?slaveOk=true
直接連接配接第一個伺服器,無論是replica set一部分或者主伺服器或者從伺服器。
mongodb://host1,host2,host3/?connect=direct;slaveOk=true
當你的連接配接伺服器有優先級,還需要列出所有伺服器,你可以使用上述連接配接方式。
安全模式連接配接到localhost:
mongodb://localhost/?safe=true
以安全模式連接配接到replica set,并且等待至少兩個複制伺服器成功寫入,逾時時間設定為2秒。
mongodb://host1,host2,host3/?safe=true;w=2;wtimeoutMS=2000
标準格式:
mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
标準的連接配接格式包含了多個選項(options),如下所示:
選項
描述
replicaSet=name
驗證replica set的名稱。 Impliesconnect=replicaSet.
slaveOk=true|false
true:在connect=direct模式下,驅動會連接配接第一台機器,即使這台伺服器不是主。在connect=replicaSet模式下,驅動會發送所有的寫請求到主并且把讀取操作分布在其他從伺服器。
false: 在 connect=direct模式下,驅動會自動找尋主伺服器. 在connect=replicaSet 模式下,驅動僅僅連接配接主伺服器,并且所有的讀寫指令都連接配接到主伺服器。
safe=true|false
true: 在執行更新操作之後,驅動都會發送getLastError指令來確定更新成功。(還要參考 wtimeoutMS).
false: 在每次更新之後,驅動不會發送getLastError來確定更新成功。
w=n
驅動添加 { w : n } 到getLastError指令. 應用于safe=true。
wtimeoutMS=ms
驅動添加 { wtimeout : ms } 到 getlasterror 指令. 應用于 safe=true.
fsync=true|false
true: 驅動添加 { fsync : true } 到 getlasterror 指令.應用于 safe=true.
false: 驅動不會添加到getLastError指令中。
journal=true|false
如果設定wie true, 同步到 journal (在送出到資料庫前寫入到實體中). 應用于 safe=true
connectTimeoutMS=ms
可以打開連接配接的時間。
socketTimeoutMS=ms
發送和接受sockets的時間。