Documentation ¶
Index ¶
- Variables
- type CachedCollection
- type Model
- func MustNewModel(url, collection string, c cache.CacheConf, opts ...cache.Option) *Model
- func MustNewNodeModel(url, collection string, rds *redis.Redis, opts ...cache.Option) *Model
- func NewModel(url, collection string, conf cache.CacheConf, opts ...cache.Option) (*Model, error)
- func NewModelWithCache(url, collection string, c cache.Cache) (*Model, error)
- func NewNodeModel(url, collection string, rds *redis.Redis, opts ...cache.Option) (*Model, error)
- func (mm *Model) Count(query interface{}) (int, error)
- func (mm *Model) DelCache(keys ...string) error
- func (mm *Model) FindAllNoCache(v, query interface{}, opts ...QueryOption) error
- func (mm *Model) FindOne(v interface{}, key string, query interface{}) error
- func (mm *Model) FindOneId(v interface{}, key string, id interface{}) error
- func (mm *Model) FindOneIdNoCache(v, id interface{}) error
- func (mm *Model) FindOneNoCache(v, query interface{}) error
- func (mm *Model) GetCache(key string, v interface{}) error
- func (mm *Model) GetCollection(session *mgo.Session) CachedCollection
- func (mm *Model) Insert(docs ...interface{}) error
- func (mm *Model) Pipe(pipeline interface{}) (mongo.Pipe, error)
- func (mm *Model) Remove(selector interface{}, keys ...string) error
- func (mm *Model) RemoveAll(selector interface{}, keys ...string) (*mgo.ChangeInfo, error)
- func (mm *Model) RemoveAllNoCache(selector interface{}) (*mgo.ChangeInfo, error)
- func (mm *Model) RemoveId(id interface{}, keys ...string) error
- func (mm *Model) RemoveIdNoCache(id interface{}) error
- func (mm *Model) RemoveNoCache(selector interface{}) error
- func (mm *Model) SetCache(key string, v interface{}) error
- func (mm *Model) Update(selector, update interface{}, keys ...string) error
- func (mm *Model) UpdateId(id, update interface{}, keys ...string) error
- func (mm *Model) UpdateIdNoCache(id, update interface{}) error
- func (mm *Model) UpdateNoCache(selector, update interface{}) error
- func (mm *Model) Upsert(selector, update interface{}, keys ...string) (*mgo.ChangeInfo, error)
- func (mm *Model) UpsertNoCache(selector, update interface{}) (*mgo.ChangeInfo, error)
- type QueryOption
Constants ¶
This section is empty.
Variables ¶
var ( // ErrNotFound is an alias of mgo.ErrNotFound. ErrNotFound = mgo.ErrNotFound )
Functions ¶
This section is empty.
Types ¶
type CachedCollection ¶
type CachedCollection interface { Count(query interface{}) (int, error) DelCache(keys ...string) error FindAllNoCache(v, query interface{}, opts ...QueryOption) error FindOne(v interface{}, key string, query interface{}) error FindOneNoCache(v, query interface{}) error FindOneId(v interface{}, key string, id interface{}) error FindOneIdNoCache(v, id interface{}) error GetCache(key string, v interface{}) error Insert(docs ...interface{}) error Pipe(pipeline interface{}) mongo.Pipe Remove(selector interface{}, keys ...string) error RemoveNoCache(selector interface{}) error RemoveAll(selector interface{}, keys ...string) (*mgo.ChangeInfo, error) RemoveAllNoCache(selector interface{}) (*mgo.ChangeInfo, error) RemoveId(id interface{}, keys ...string) error RemoveIdNoCache(id interface{}) error SetCache(key string, v interface{}) error Update(selector, update interface{}, keys ...string) error UpdateNoCache(selector, update interface{}) error UpdateId(id, update interface{}, keys ...string) error UpdateIdNoCache(id, update interface{}) error Upsert(selector, update interface{}, keys ...string) (*mgo.ChangeInfo, error) UpsertNoCache(selector, update interface{}) (*mgo.ChangeInfo, error) }
CachedCollection interface represents a mongo collection with cache.
type Model ¶
A Model is a mongo model that built with cache capability.
func MustNewModel ¶
MustNewModel returns a Model with a cache cluster, exists on errors.
func MustNewNodeModel ¶
MustNewNodeModel returns a Model with a cache node, exists on errors.
func NewModelWithCache ¶
NewModelWithCache returns a Model with a custom cache.
func NewNodeModel ¶
NewNodeModel returns a Model with a cache node.
func (*Model) FindAllNoCache ¶
func (mm *Model) FindAllNoCache(v, query interface{}, opts ...QueryOption) error
FindAllNoCache finds all records without cache.
func (*Model) FindOneIdNoCache ¶
FindOneIdNoCache unmarshals a record into v with query, without cache.
func (*Model) FindOneNoCache ¶
FindOneNoCache unmarshals a record into v with query, without cache.
func (*Model) GetCollection ¶
func (mm *Model) GetCollection(session *mgo.Session) CachedCollection
GetCollection returns a cache collection.
func (*Model) Remove ¶
Remove removes a record with given selector, and remove it from cache with given keys.
func (*Model) RemoveAll ¶
func (mm *Model) RemoveAll(selector interface{}, keys ...string) (*mgo.ChangeInfo, error)
RemoveAll removes all records with given selector, and removes cache with given keys.
func (*Model) RemoveAllNoCache ¶
func (mm *Model) RemoveAllNoCache(selector interface{}) (*mgo.ChangeInfo, error)
RemoveAllNoCache removes all records with given selector, and returns a mgo.ChangeInfo.
func (*Model) RemoveId ¶
RemoveId removes a record with given id, and removes cache with given keys.
func (*Model) RemoveIdNoCache ¶
RemoveIdNoCache removes a record with given id.
func (*Model) RemoveNoCache ¶
RemoveNoCache removes a record with given selector.
func (*Model) Update ¶
Update updates the record with given selector, and delete cache with given keys.
func (*Model) UpdateId ¶
UpdateId updates the record with given id, and delete cache with given keys.
func (*Model) UpdateIdNoCache ¶
UpdateIdNoCache updates the record with given id.
func (*Model) UpdateNoCache ¶
UpdateNoCache updates the record with given selector.
func (*Model) Upsert ¶
func (mm *Model) Upsert(selector, update interface{}, keys ...string) (*mgo.ChangeInfo, error)
Upsert upserts a record with given selector, and delete cache with given keys.
func (*Model) UpsertNoCache ¶
func (mm *Model) UpsertNoCache(selector, update interface{}) (*mgo.ChangeInfo, error)
UpsertNoCache upserts a record with given selector.