func (m *ModelArticle) Update(obj ModelArticle) error { change := utils.M{} obj.Content = helper.FilterHtmlTag("script|noscript|form|fieldset|iframe|math|ins|del", obj.Content) objMap := utils.Struct{obj}.StructToSnakeKeyMap() delete(objMap, "id") delete(objMap, "create_time") objMap["update_time"] = time.Now().Unix() change["$set"] = objMap mgoServer := Middleware.Get("db").(*helper.Mongo) err := mgoServer.C(ColArticle).UpdateId(m.Id, change) if err == nil { nm, e := ArticleById(m.Id.Hex()) err = e if err == nil { *m = nm } } return err }
func (m *ModelArticle) Add() error { if m.Id != "" { return errors.New("Had Id") } //manual control set _id value m.Id = bson.NewObjectId() m.CreateTime = time.Now().Unix() m.UpdateTime = m.CreateTime m.Content = helper.FilterHtmlTag("script|noscript|form|fieldset|iframe|math|ins|del", m.Content) mgoServer := Middleware.Get("db").(*helper.Mongo) err := mgoServer.C(ColArticle).Insert(m) if err == nil { obj := ModelArticle{} obj, err = ArticleById(m.Id.Hex()) if err == nil { *m = obj } } return err }