第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

覆蓋 Labix mgo 中的默認(rèn) writeConcern

覆蓋 Labix mgo 中的默認(rèn) writeConcern

Go
白衣非少年 2021-10-04 16:13:31
我labix mgo在 Go 應(yīng)用程序中用作 mongodb 驅(qū)動(dòng)程序,我想知道是否有辦法覆蓋writeConcern特定查詢(xún)的默認(rèn)值。關(guān)于配置的幾句話(huà):副本集有三個(gè)節(jié)點(diǎn) - 一個(gè)主節(jié)點(diǎn)和兩個(gè)輔助節(jié)點(diǎn),writeConcern和readPreference是默認(rèn)的。驅(qū)動(dòng)程序使用monotonic一致性,這意味著所有讀取都是從輔助節(jié)點(diǎn)完成的(當(dāng)它可用時(shí),否則 - 從主節(jié)點(diǎn))。在某些情況下,我需要在寫(xiě)入數(shù)據(jù)庫(kù)后立即讀取更新的數(shù)據(jù) - 由于上述 mongo 可能會(huì)返回舊數(shù)據(jù):// update some data_ := collection.Update(bson.M{"_id": "some_id"}, bson.M{"key": "value"})// the data is still not updated when I read it immediately after updatevar obj interface{}_ := collection.Find(bson.M{"_id": "some_id"}).One(&obj)問(wèn)題是:是否可以覆蓋默認(rèn)值writeConcern(或consistency驅(qū)動(dòng)程序的默認(rèn)值)并強(qiáng)制驅(qū)動(dòng)程序等待數(shù)據(jù)寫(xiě)入輔助節(jié)點(diǎn)或從主節(jié)點(diǎn)讀取某些查詢(xún)?
查看完整描述

1 回答

?
牧羊人nacy

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超7個(gè)贊

好的,經(jīng)過(guò)一些研究,我最終找到了解決方案。有一種方法SetMode可以讓您更改特定數(shù)據(jù)庫(kù)會(huì)話(huà)的默認(rèn)一致性模式。在我們的應(yīng)用程序中,我們每次在發(fā)出請(qǐng)求之前創(chuàng)建主會(huì)話(huà)的副本,然后在完成后關(guān)閉它:


// master session is configured to use monotonic consistency

session := masterSession.Copy()


// tell mgo to read from the primary in this session

session.SetMode(mgo.Strong, true)


collection := session.DB("db").C("collection")

var obj interface{}


// now we can be sure that the following request reads the data from the primary

_ := collection.Find(bson.M{"_id": "some_id"}).One(&obj)


session.Close()


查看完整回答
反對(duì) 回復(fù) 2021-10-04
  • 1 回答
  • 0 關(guān)注
  • 169 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)