Versions in this module Expand all Collapse all v1 v1.0.0 Jun 8, 2024 Changes in this version + const NotFound + func DocstoreTestCRUD(cs *CachedStore, t *testing.T) + func DriverBulkTest(d Driver, t *testing.T) + func DriverCRUDTest(d Driver, t *testing.T) + func RegisterDriver(name string, fn DriverFactory) + type CachedStore struct + func New(config *Config) (*CachedStore, error) + func NewDocstore(storage Driver, cache cache.Cache, config *Config) *CachedStore + func (s *CachedStore) BulkCreate(ctx context.Context, docs interface{}) error + func (s *CachedStore) BulkGet(ctx context.Context, ids, docs interface{}) error + func (s *CachedStore) Create(ctx context.Context, doc interface{}) error + func (s *CachedStore) Delete(ctx context.Context, id interface{}) error + func (s *CachedStore) Find(ctx context.Context, query *QueryOpt, docs interface{}) error + func (s *CachedStore) Get(ctx context.Context, id, doc interface{}) error + func (s *CachedStore) GetCache() cache.Cache + func (s *CachedStore) Increment(ctx context.Context, id interface{}, fieldName string, value int) error + func (s *CachedStore) Migrate(ctx context.Context, config interface{}) error + func (s *CachedStore) Replace(ctx context.Context, doc interface{}) error + func (s *CachedStore) Update(ctx context.Context, doc interface{}) error + func (s *CachedStore) UpdateField(ctx context.Context, id interface{}, key string, value interface{}) error + type Config struct + CacheExpiration int + CacheURL string + Collection string + Connection interface{} + Database string + Driver string + IDField string + TimestampField string + type DocstoreError string + func (e DocstoreError) Error() string + type Driver interface + BulkCreate func(ctx context.Context, docs []interface{}) error + BulkGet func(ctx context.Context, ids []interface{}, docs interface{}) error + Create func(ctx context.Context, doc interface{}) error + Delete func(ctx context.Context, id interface{}) error + Find func(ctx context.Context, query *QueryOpt, docs interface{}) error + Get func(ctx context.Context, id interface{}, doc interface{}) error + GetIncrement func(ctx context.Context, id interface{}, key string, value int, doc interface{}) error + Increment func(ctx context.Context, id interface{}, key string, value int) error + Migrate func(ctx context.Context, config interface{}) error + Update func(ctx context.Context, id, doc interface{}, replace bool) error + UpdateField func(ctx context.Context, id interface{}, fields []Field) error + func GetDriver(config *Config) (Driver, error) + func MemoryStoreFactory(config *Config) (Driver, error) + type DriverFactory func(config *Config) (Driver, error) + type Field struct + Name string + Value interface{} + type FilterOpt struct + Field string + Ops string + Value interface{} + type MemoryStore struct + func NewMemoryStore(name, idField string) *MemoryStore + func (m *MemoryStore) BulkCreate(ctx context.Context, docs []interface{}) error + func (m *MemoryStore) BulkGet(ctx context.Context, ids []interface{}, docs interface{}) error + func (m *MemoryStore) Create(ctx context.Context, doc interface{}) error + func (m *MemoryStore) Delete(ctx context.Context, id interface{}) error + func (m *MemoryStore) Find(ctx context.Context, query *QueryOpt, docs interface{}) error + func (m *MemoryStore) Get(ctx context.Context, id interface{}, doc interface{}) error + func (m *MemoryStore) GetIncrement(ctx context.Context, id interface{}, key string, value int, doc interface{}) error + func (m *MemoryStore) Increment(ctx context.Context, id interface{}, key string, value int) error + func (m *MemoryStore) Migrate(ctx context.Context, config interface{}) error + func (m *MemoryStore) Update(ctx context.Context, id, doc interface{}, replace bool) error + func (m *MemoryStore) UpdateField(ctx context.Context, id interface{}, fields []Field) error + type QueryOpt struct + Filter []FilterOpt + IsAscend bool + Limit int + OrderBy string + Page int + Skip int + func (q *QueryOpt) AddFilter(filter FilterOpt) *QueryOpt