本文整理匯總了Golang中labix/org/v2/mgo.Session.SetMode方法的典型用法代碼示例。如果您正苦於以下問題:Golang Session.SetMode方法的具體用法?Golang Session.SetMode怎麽用?Golang Session.SetMode使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類labix/org/v2/mgo.Session
的用法示例。
在下文中一共展示了Session.SetMode方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: newServer
func newServer() (*coretesting.MgoInstance, error) {
inst := &coretesting.MgoInstance{Params: []string{"--replSet", name}}
err := inst.Start(true)
if err != nil {
return nil, fmt.Errorf("Error starting mongo server: %s", err.Error())
}
// by dialing right now, we'll wait until it's running
strategy := utils.AttemptStrategy{Total: time.Second * 5, Delay: time.Millisecond * 100}
attempt := strategy.Start()
for attempt.Next() {
var session *mgo.Session
session, err = inst.DialDirect()
if err != nil {
err = fmt.Errorf("Error dialing mongo server %q: %s", inst.Addr(), err.Error())
} else {
session.SetMode(mgo.Monotonic, true)
err = session.Ping()
if err != nil {
err = fmt.Errorf("Error pinging mongo server %q: %s", inst.Addr(), err.Error())
}
session.Close()
}
if err == nil || !attempt.HasNext() {
break
}
}
return inst, err
}
示例2: getLastUpdated
func getLastUpdated(dataset map[string]interface{}, session *mgo.Session) (t *time.Time) {
var lastUpdated bson.M
session.SetMode(mgo.Monotonic, true)
coll := session.DB("backdrop").C(dataset["name"].(string))
err := coll.Find(nil).Sort("-_updated_at").One(&lastUpdated)
if err != nil {
panic(err)
}
t = nil
value, isTime := lastUpdated["_updated_at"].(time.Time)
if isTime {
t = &value
}
return
}
示例3: SetMode
func SetMode(s *mgo.Session, modeFriendly string, refresh bool) {
mode, ok := g_modes[strings.ToLower(modeFriendly)]
if !ok {
log.Fatal("invalid mgo mode")
}
switch mode {
case 0:
s.SetMode(mgo.Eventual, refresh)
case 1:
s.SetMode(mgo.Monotonic, refresh)
case 2:
s.SetMode(mgo.Strong, refresh)
}
}