亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么 mongo 連接字符串中的“connect”選項沒有記錄?

為什么 mongo 連接字符串中的“connect”選項沒有記錄?

Go
天涯盡頭無女友 2023-08-21 14:33:35
問題是,即使我只針對連接字符串中副本集的一個節點,mongo-go-driver也總是希望發現并連接其他節點。基本上說我應該connect在連接字符串中添加選項。mongodb://host:27017/authDb?connect=direct我的問題是:這個做法有多好或多壞?為什么 mongo 沒有記錄,這個選項還有其他可用的值嗎?
查看完整描述

2 回答

?
慕森王

TA貢獻1777條經驗 獲得超3個贊

該選項僅適用于 Go 驅動程序。對于所有其他驅動程序,它無法識別,因此它沒有記錄為常規連接字符串選項。

查看完整回答
反對 回復 2023-08-21
?
Helenr

TA貢獻1780條經驗 獲得超4個贊

這個做法有多好或多壞?為什么 mongo 沒有記錄,這個選項還有其他可用的值嗎?

正如已接受的答案中所指出的,這記錄在驅動程序文檔中?,F在討論問題的另一部分。

一般來說,在副本集上下文中,您可能希望連接到拓撲,而不是直接連接到特定的副本集成員,但出于管理目的除外。復制旨在提供冗余,并且在發生故障轉移時不建議直接連接到一個成員(即主成員)。

直接連接:客戶端必須能夠連接到任何類型的單個服務器。這包括查詢隱藏的副本集成員,以及連接到未初始化的成員(請參閱 RSGhost)以運行“replSetInitiate”。連接到輔助設備不一定需要設置讀取首選項。當然,輔助設備將拒絕使用 PRIMARY 讀取首選項完成的所有操作,因為未設置 SlaveOk 位,但初始連接本身會成功。驅動程序可以允許直接連接到仲裁器(例如,運行管理命令)。

它只指定它必須能夠這樣做,但沒有指定如何這樣做。MongoDB Go驅動程序并不是目前唯一支持direct選項方法的驅動程序,還有.NET/C#和Ruby。

目前有一個開放的 PR規范來統一行為。未來,所有駕駛員都將采用相同的方式建立直接連接。


查看完整回答
反對 回復 2023-08-21
  • 2 回答
  • 0 關注
  • 126 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號