2020-10-06 10:12:35 +08:00
|
|
|
//go:generate mockgen -package internal -destination collection_mock.go -source collection.go
|
2021-02-08 22:31:52 +08:00
|
|
|
|
2020-10-06 10:12:35 +08:00
|
|
|
package internal
|
|
|
|
|
|
|
|
|
|
import "github.com/globalsign/mgo"
|
|
|
|
|
|
2021-02-28 23:02:49 +08:00
|
|
|
// MgoCollection interface represents a mgo collection.
|
2020-10-06 10:12:35 +08:00
|
|
|
type MgoCollection interface {
|
|
|
|
|
Find(query interface{}) *mgo.Query
|
|
|
|
|
FindId(id interface{}) *mgo.Query
|
|
|
|
|
Insert(docs ...interface{}) error
|
|
|
|
|
Pipe(pipeline interface{}) *mgo.Pipe
|
|
|
|
|
Remove(selector interface{}) error
|
|
|
|
|
RemoveAll(selector interface{}) (*mgo.ChangeInfo, error)
|
|
|
|
|
RemoveId(id interface{}) error
|
|
|
|
|
Update(selector, update interface{}) error
|
|
|
|
|
UpdateId(id, update interface{}) error
|
|
|
|
|
Upsert(selector, update interface{}) (*mgo.ChangeInfo, error)
|
|
|
|
|
}
|