package mgoService import ( "GoClouds/models" "GoClouds/service" "gopkg.in/mgo.v2/bson" "time" ) func FindParam(id string) *models.MgoParam { if len(id) <= 0 { return nil } ses := service.MgoParamDao.NewSession() defer ses.Close() e := new(models.MgoParam) err := ses.C().FindId(bson.ObjectIdHex(id)).One(e) if err != nil { return nil } return e } func GetParam(key string) *models.MgoParam { if len(key) <= 0 { return nil } ses := service.MgoParamDao.NewSession() defer ses.Close() e := new(models.MgoParam) err := ses.C().Find(bson.M{"key": key}).One(e) if err != nil { return nil } return e } func SetParam(key string, val *map[string]interface{}, tits ...string) bool { if len(key) <= 0 { return false } isup := true e := GetParam(key) if e == nil { isup = false e = new(models.MgoParam) e.Id = bson.NewObjectId() e.Key = key e.Times = time.Now() } e.Value = val if len(tits) > 0 { e.Title = tits[0] } var err error ses := service.MgoParamDao.NewSession() defer ses.Close() if isup { err = ses.C().UpdateId(e.Id, e) } else { err = ses.C().Insert(e) } if err != nil { println("err:" + err.Error()) return false } return true }