66 lines
1.8 KiB
Go
66 lines
1.8 KiB
Go
package mgoapi
|
|
|
|
import (
|
|
"gitbase.de/gopackage/mgocrud/v2"
|
|
"gopkg.in/mgo.v2"
|
|
"gopkg.in/mgo.v2/bson"
|
|
)
|
|
|
|
type Session interface {
|
|
Close()
|
|
Copy() Session
|
|
DB(name string) Database
|
|
}
|
|
|
|
type Database interface {
|
|
Session() Session
|
|
C(name string) Collection
|
|
Name() string
|
|
EnsureIndex(m mgocrud.ModelInterface) error
|
|
ValidateObject(m mgocrud.ModelInterface, changes bson.M) error
|
|
ReadDocument(m mgocrud.ModelInterface, selector bson.M) error
|
|
CreateDocument(m mgocrud.ModelInterface) error
|
|
ReadCollection(results interface{}, filter bson.M, selector bson.M, offset int, limit int, sort []string, pipelineModifier mgocrud.PipelineModifierFunction) error
|
|
ReadCollectionCount(m mgocrud.ModelInterface, filter bson.M) (count int, err error)
|
|
UpdateDocument(m mgocrud.ModelInterface, changes bson.M) error
|
|
UpsertDocument(m mgocrud.ModelInterface, changes bson.M) error
|
|
DeleteDocument(m mgocrud.ModelInterface) error
|
|
DeleteDocuments(m mgocrud.ModelInterface, filter bson.M) (removed int, err error)
|
|
}
|
|
|
|
type Collection interface {
|
|
Insert(docs ...interface{}) error
|
|
UpdateId(id interface{}, update interface{}) error
|
|
RemoveId(id interface{}) error
|
|
Upsert(selector interface{}, update interface{}) (ChangeInfo, error)
|
|
RemoveAll(filter interface{}) (ChangeInfo, error)
|
|
FindId(id interface{}) Query
|
|
Find(query interface{}) Query
|
|
EnsureIndex(index Index) error
|
|
Pipe(pipeline interface{}) Pipe
|
|
}
|
|
|
|
type ChangeInfo interface {
|
|
Matched() int
|
|
Removed() int
|
|
Updated() int
|
|
}
|
|
|
|
type Query interface {
|
|
Select(selector interface{}) Query
|
|
One(result interface{}) error
|
|
Sort(fields ...string) Query
|
|
Skip(n int) Query
|
|
Limit(n int) Query
|
|
All(result interface{}) error
|
|
Count() (int, error)
|
|
}
|
|
|
|
type Index interface {
|
|
NewMgoIndex(index mgo.Index) Index
|
|
}
|
|
|
|
type Pipe interface {
|
|
All(result interface{}) error
|
|
}
|