// Update Client on condition(s) func (s *ClientStore) Update( c store.Conds, ep store.EntityPtr) (err error) { // get collection coll, err := s.Coll() if err != nil { return } // get by condition and ignore the error cond, _ := c.GetMap() res := coll.Find(db.Cond(cond)) // Marshal the item, if possible // (quick fix for upperio problem with db.Marshaler) if me, ok := ep.(db.Marshaler); ok { ep, err = me.MarshalDB() if err != nil { return } } // update the matched entities err = res.Update(ep) if err != nil { err = s.errorf("Error updating Client: %s", err.Error()) } return }
// Delete Client on condition(s) func (s *ClientStore) Delete( c store.Conds) (err error) { // get collection coll, err := s.Coll() if err != nil { return } // get by condition and ignore the error cond, _ := c.GetMap() res := coll.Find(db.Cond(cond)) // remove the matched entities err = res.Remove() if err != nil { err = s.errorf("Error deleting Client: %s", err.Error()) } return nil }