本文整理汇总了Golang中github.com/opesun/nocrud/frame/interfaces.Filter.Count方法的典型用法代码示例。如果您正苦于以下问题:Golang Filter.Count方法的具体用法?Golang Filter.Count怎么用?Golang Filter.Count使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/opesun/nocrud/frame/interfaces.Filter
的用法示例。
在下文中一共展示了Filter.Count方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Save
func (tt *TimeTable) Save(a iface.Filter, data map[string]interface{}) error {
if !tt.userIsProfessional {
return fmt.Errorf("Only professionals can save timetables.")
}
ssl := toSS(data["timeTable"].([]interface{}))
timeTable, err := evenday.StringsToTimeTable(ssl)
if err != nil {
return err
}
count, err := a.Count()
if err != nil {
return err
}
m := map[string]interface{}{}
m["createdBy"] = tt.userId
m["timeTable"] = timeTable
if count == 0 {
return a.Insert(m)
} else if count == 1 {
doc, err := a.SelectOne()
if err != nil {
return err
}
return doc.Update(m)
}
_, err = a.RemoveAll()
if err != nil {
return err
}
return a.Insert(m)
}
示例2: othersAlreadyTook
func (e *Entries) othersAlreadyTook(a iface.Filter, from, to int64) error {
entryQ := map[string]interface{}{
"$or": []interface{}{
map[string]interface{}{
"from": map[string]interface{}{
"$gt": from,
"$lt": to,
},
},
map[string]interface{}{
"to": map[string]interface{}{
"$gt": from,
"$lt": to,
},
},
},
}
a.AddQuery(entryQ)
eC, err := a.Count()
if err != nil {
return err
}
if eC > 0 {
return fmt.Errorf("That time is already taken.")
}
return nil
}
示例3: hasAdmin
func hasAdmin(f iface.Filter) error {
q := map[string]interface{}{
"level": 300,
}
f.AddQuery(q)
c, err := f.Count()
if err != nil {
return err
}
if c > 0 {
return fmt.Errorf("Site already has an admin.")
}
return nil
}
示例4: Get
func (b *Basics) Get(a iface.Filter) ([]map[string]interface{}, *QueryInfo, error) {
list, err := a.Find()
if err != nil {
return nil, nil, err
}
count, err := a.Count()
if err != nil {
return nil, nil, err
}
return list, &QueryInfo{
count, a.Modifiers().Skip(),
a.Modifiers().Limit(),
a.Modifiers().Sort(),
}, nil
}