本文整理汇总了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)
}
}