日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)MongoDB教程:MongoDB-連接

MongoDB - 連接

在本教程我們將討論 MongoDB 的不同連接方式。

公司主營業(yè)務(wù):成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)公司推出崇川免費(fèi)做網(wǎng)站回饋大家。

啟動(dòng) MongoDB 服務(wù)

在前面的教程中,我們已經(jīng)討論了如何啟動(dòng) MongoDB 服務(wù),你只需要在 MongoDB 安裝目錄的 bin 目錄下執(zhí)行 mongodb 即可。

執(zhí)行啟動(dòng)操作后,mongodb 在輸出一些必要信息后不會(huì)輸出任何信息,之后就等待連接的建立,當(dāng)連接被建立后,就會(huì)開始打印日志信息。

你可以使用 MongoDB shell 來連接 MongoDB 服務(wù)器。你也可以使用 PHP 來連接 MongoDB。本教程我們會(huì)使用 MongoDB shell 來連接 Mongodb 服務(wù),之后的章節(jié)我們將會(huì)介紹如何通過php 來連接MongoDB服務(wù)。

標(biāo)準(zhǔn) URI 連接語法:

mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
  • mongodb:// 這是固定的格式,必須要指定。

  • username:password@ 可選項(xiàng),如果設(shè)置,在連接數(shù)據(jù)庫服務(wù)器之后,驅(qū)動(dòng)都會(huì)嘗試登錄這個(gè)數(shù)據(jù)庫

  • host1 必須的指定至少一個(gè)host, host1 是這個(gè)URI唯一要填寫的。它指定了要連接服務(wù)器的地址。如果要連接復(fù)制集,請(qǐng)指定多個(gè)主機(jī)地址。

  • portX 可選的指定端口,如果不填,默認(rèn)為27017

  • /database 如果指定username:password@,連接并驗(yàn)證登錄指定數(shù)據(jù)庫。若不指定,默認(rèn)打開 test 數(shù)據(jù)庫。

  • ?options 是連接選項(xiàng)。如果不使用/database,則前面需要加上/。所有連接選項(xiàng)都是鍵值對(duì)name=value,鍵值對(duì)之間通過&或;(分號(hào))隔開

標(biāo)準(zhǔn)的連接格式包含了多個(gè)選項(xiàng)(options),如下所示:

選項(xiàng) 描述
replicaSet=name驗(yàn)證replica set的名稱。 Impliesconnect=replicaSet.
slaveOk=true|false
  • true:在connect=direct模式下,驅(qū)動(dòng)會(huì)連接第一臺(tái)機(jī)器,即使這臺(tái)服務(wù)器不是主。在connect=replicaSet模式下,驅(qū)動(dòng)會(huì)發(fā)送所有的寫請(qǐng)求到主并且把讀取操作分布在其他從服務(wù)器。
  • false: 在 connect=direct模式下,驅(qū)動(dòng)會(huì)自動(dòng)找尋主服務(wù)器. 在connect=replicaSet 模式下,驅(qū)動(dòng)僅僅連接主服務(wù)器,并且所有的讀寫命令都連接到主服務(wù)器。
safe=true|false
    • true: 在執(zhí)行更新操作之后,驅(qū)動(dòng)都會(huì)發(fā)送getLastError命令來確保更新成功。(還要參考 wtimeoutMS).

false: 在每次更新之后,驅(qū)動(dòng)不會(huì)發(fā)送getLastError來確保更新成功。

w=n驅(qū)動(dòng)添加 { w : n } 到getLastError命令. 應(yīng)用于safe=true。
wtimeoutMS=ms驅(qū)動(dòng)添加 { wtimeout : ms } 到 getlasterror 命令. 應(yīng)用于 safe=true.
fsync=true|false
  • true: 驅(qū)動(dòng)添加 { fsync : true } 到 getlasterror 命令.應(yīng)用于 safe=true.
  • false: 驅(qū)動(dòng)不會(huì)添加到getLastError命令中。
journal=true|false如果設(shè)置為 true, 同步到 journal (在提交到數(shù)據(jù)庫前寫入到實(shí)體中). 應(yīng)用于 safe=true
connectTimeoutMS=ms可以打開連接的時(shí)間。
socketTimeoutMS=ms發(fā)送和接受sockets的時(shí)間。

實(shí)例

使用默認(rèn)端口來連接 MongoDB 的服務(wù)。

mongodb://localhost

通過 shell 連接 MongoDB 服務(wù):

$ ./mongo
MongoDB shell version: 4.0.9
connecting to: test
... 

這時(shí)候你返回查看運(yùn)行 ./mongod 命令的窗口,可以看到是從哪里連接到MongoDB的服務(wù)器,您可以看到如下信息:

……省略信息……
2015-09-25T17:22:27.336+0800 I CONTROL  [initandlisten] allocator: tcmalloc
2015-09-25T17:22:27.336+0800 I CONTROL  [initandlisten] options: { storage: { dbPath: "/data/db" } }
2015-09-25T17:22:27.350+0800 I NETWORK  [initandlisten] waiting for connections on port 27017
2015-09-25T17:22:36.012+0800 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:37310 #1 (1 connection now open)  # 該行表明一個(gè)來自本機(jī)的連接

……省略信息……

MongoDB 連接命令格式

使用用戶名和密碼連接到 MongoDB 服務(wù)器,你必須使用 'username:password@hostname/dbname' 格式,'username'為用戶名,'password' 為密碼。

使用用戶名和密碼連接登錄到默認(rèn)數(shù)據(jù)庫:

$ ./mongo
MongoDB shell version: 4.0.9
connecting to: test

使用用戶 admin 使用密碼 123456 連接到本地的 MongoDB 服務(wù)上。輸出結(jié)果如下所示:

> mongodb://admin:123456@localhost/
... 

使用用戶名和密碼連接登錄到指定數(shù)據(jù)庫,格式如下:

mongodb://admin:123456@localhost/test

更多連接實(shí)例

連接本地?cái)?shù)據(jù)庫服務(wù)器,端口是默認(rèn)的。

mongodb://localhost

使用用戶名fred,密碼foobar登錄localhost的admin數(shù)據(jù)庫。

mongodb://fred:foobar@localhost

使用用戶名fred,密碼foobar登錄localhost的baz數(shù)據(jù)庫。

mongodb://fred:foobar@localhost/baz

連接 replica pair, 服務(wù)器1為example1.com服務(wù)器2為example2。

mongodb://example1.com:27017,example2.com:27017

連接 replica set 三臺(tái)服務(wù)器 (端口 27017, 27018, 和27019):

mongodb://localhost,localhost:27018,localhost:27019

連接 replica set 三臺(tái)服務(wù)器, 寫入操作應(yīng)用在主服務(wù)器 并且分布查詢到從服務(wù)器。

mongodb://host1,host2,host3/?slaveOk=true

直接連接第一個(gè)服務(wù)器,無論是replica set一部分或者主服務(wù)器或者從服務(wù)器。

mongodb://host1,host2,host3/?connect=direct;slaveOk=true

當(dāng)你的連接服務(wù)器有優(yōu)先級(jí),還需要列出所有服務(wù)器,你可以使用上述連接方式。

安全模式連接到localhost:

mongodb://localhost/?safe=true

以安全模式連接到replica set,并且等待至少兩個(gè)復(fù)制服務(wù)器成功寫入,超時(shí)時(shí)間設(shè)置為2秒。

mongodb://host1,host2,host3/?safe=true;w=2;wtimeoutMS=2000

名稱欄目:創(chuàng)新互聯(lián)MongoDB教程:MongoDB-連接
網(wǎng)站鏈接:http://www.dlmjj.cn/article/cddeesh.html