本文整理汇总了Golang中github.com/gourd/kit/store.Conds类的典型用法代码示例。如果您正苦于以下问题:Golang Conds类的具体用法?Golang Conds怎么用?Golang Conds使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Conds类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: Update
// 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
}
开发者ID:gourd,项目名称:kit,代码行数:30,代码来源:client_store.go
示例2: Delete
// 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
}
开发者ID:gourd,项目名称:kit,代码行数:21,代码来源:client_store.go
示例3: Conds
// Conds Translate the store.Conds interface into
// upperio flavor conditions representation
func Conds(cs store.Conds) interface{} {
conds := cs.GetAll()
out := make([]interface{}, 0)
// accumulate relations
for _, cond := range conds {
if cond.Prop == "" {
// if no prop, assume to be prop
if v, ok := cond.Value.(string); ok {
out = append(out, db.Raw{v})
} else if v, ok := cond.Value.(store.Conds); ok {
leaf := Conds(v)
out = append(out, leaf)
} else if v, ok := cond.Value.(db.Raw); ok {
out = append(out, v)
} else if v, ok := cond.Value.(db.And); ok {
out = append(out, v)
} else if v, ok := cond.Value.(db.Or); ok {
out = append(out, v)
}
} else {
out = append(out, db.Cond{cond.Prop: cond.Value})
}
}
if len(out) == 0 {
return nil // nil for empty query, searchs everything
}
// determine relations
if cs.GetRel() == store.And {
return db.And(out)
} else if cs.GetRel() == store.Or {
return db.Or(out)
}
panic(fmt.Sprintf("Incorrect value of Rel in %#v", cs))
return nil
}
开发者ID:gourd,项目名称:kit,代码行数:42,代码来源:cond.go
注:本文中的github.com/gourd/kit/store.Conds类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论