Documentation
¶
Index ¶
- type BaseDatabase
- type Connection
- type DatabaseUploadResponse
- type DatabaseUploader
- type DocumentDatabase
- type MockDocumentDatabase
- func (m *MockDocumentDatabase) Connect(connection *Connection) error
- func (m *MockDocumentDatabase) Disconnect()
- func (m *MockDocumentDatabase) GetCollection(name string) *mgo.Collection
- func (m *MockDocumentDatabase) GetDB() *mgo.Database
- func (m *MockDocumentDatabase) GridFS(prefix string) *mgo.GridFS
- type MockMongoCollection
- func (c *MockMongoCollection) Count() (int, error)
- func (c *MockMongoCollection) EnsureIndex(index mgo.Index) error
- func (c *MockMongoCollection) Find(query interface{}) *mgo.Query
- func (c *MockMongoCollection) FindId(id interface{}) *mgo.Query
- func (c *MockMongoCollection) Insert(docs ...interface{}) error
- func (c *MockMongoCollection) Remove(selector interface{}) error
- func (c *MockMongoCollection) RemoveAll(selector interface{}) (*mgo.ChangeInfo, error)
- func (c *MockMongoCollection) RemoveId(id interface{}) error
- func (c *MockMongoCollection) Update(selector, update interface{}) error
- func (c *MockMongoCollection) UpdateAll(selector, update interface{}) (*mgo.ChangeInfo, error)
- func (c *MockMongoCollection) UpdateId(id, update interface{}) error
- func (c *MockMongoCollection) Upsert(selector, update interface{}) (*mgo.ChangeInfo, error)
- func (c *MockMongoCollection) UpsertId(id, update interface{}) (*mgo.ChangeInfo, error)
- type MockMongoDatabase
- type MockMongoQuery
- func (m *MockMongoQuery) All(result interface{}) error
- func (m *MockMongoQuery) Count() (int, error)
- func (m *MockMongoQuery) Distinct(key string, result interface{}) error
- func (m *MockMongoQuery) Limit(n int) MongoQuery
- func (m *MockMongoQuery) One(result interface{}) error
- func (m *MockMongoQuery) Select(selector interface{}) MongoQuery
- func (m *MockMongoQuery) Skip(n int) MongoQuery
- func (m *MockMongoQuery) Sort(fields ...string) MongoQuery
- type MockMongoSession
- type MongoCollection
- type MongoDatabase
- type MongoDatabaseService
- func (d *MongoDatabaseService) Connect(connection *Connection) error
- func (d *MongoDatabaseService) Disconnect()
- func (d *MongoDatabaseService) GetCollection(name string) *mgo.Collection
- func (d *MongoDatabaseService) GetDB() *mgo.Database
- func (d *MongoDatabaseService) GridFS(prefix string) *mgo.GridFS
- type MongoGridFS
- type MongoGridFile
- type MongoIter
- type MongoQuery
- type MongoQueryWrapper
- type MongoSession
- type MongoUploader
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BaseDatabase ¶
type BaseDatabase interface { Connect(connection *Connection) error Disconnect() }
BaseDatabase defines the simplest things a database can do: connect and disconnect
type Connection ¶
A Connection struct stores information about how to connect to a database
type DatabaseUploadResponse ¶
type DatabaseUploadResponse struct { BytesWritten int `json:"bytesWritten"` FileID bson.ObjectId `json:"fileID"` FileName string `json:"fileName"` Height int `json:"height"` Width int `json:"width"` }
A DatabaseUploadResponse is used to alert a caller information about their uploaded file.
type DatabaseUploader ¶
type DatabaseUploader interface {
Upload(reader io.Reader, name, path string) (*DatabaseUploadResponse, error)
}
A DatabaseUploader defines an interface for uploading files to a database
type DocumentDatabase ¶
type DocumentDatabase interface { BaseDatabase GetCollection(name string) *mgo.Collection GetDB() *mgo.Database GridFS(prefix string) *mgo.GridFS }
DocumentDatabase defines the basics of what a document-based database system can do
type MockDocumentDatabase ¶
type MockDocumentDatabase struct { ConnectFunc func(connection *Connection) error DisconnectFunc func() GetCollectionFunc func(name string) *mgo.Collection GetDBFunc func() *mgo.Database GridFSFunc func(prefix string) *mgo.GridFS }
func (*MockDocumentDatabase) Connect ¶
func (m *MockDocumentDatabase) Connect(connection *Connection) error
func (*MockDocumentDatabase) Disconnect ¶
func (m *MockDocumentDatabase) Disconnect()
func (*MockDocumentDatabase) GetCollection ¶
func (m *MockDocumentDatabase) GetCollection(name string) *mgo.Collection
func (*MockDocumentDatabase) GetDB ¶
func (m *MockDocumentDatabase) GetDB() *mgo.Database
type MockMongoCollection ¶
type MockMongoCollection struct { CountFunc func() (int, error) EnsureIndexFunc func(index mgo.Index) error FindFunc func(query interface{}) *mgo.Query FindIdFunc func(id interface{}) *mgo.Query InsertFunc func(docs ...interface{}) error RemoveFunc func(selector interface{}) error RemoveAllFunc func(selector interface{}) (*mgo.ChangeInfo, error) RemoveIdFunc func(id interface{}) error UpdateFunc func(selector, update interface{}) error UpdateAllFunc func(selector, update interface{}) (*mgo.ChangeInfo, error) UpdateIdFunc func(id, update interface{}) error UpsertFunc func(selector, update interface{}) (*mgo.ChangeInfo, error) UpsertIdFunc func(id, update interface{}) (*mgo.ChangeInfo, error) }
MockMongoCollection is used for unit testing to mock a MongoDB
func (*MockMongoCollection) Count ¶
func (c *MockMongoCollection) Count() (int, error)
func (*MockMongoCollection) EnsureIndex ¶
func (c *MockMongoCollection) EnsureIndex(index mgo.Index) error
func (*MockMongoCollection) Find ¶
func (c *MockMongoCollection) Find(query interface{}) *mgo.Query
func (*MockMongoCollection) FindId ¶
func (c *MockMongoCollection) FindId(id interface{}) *mgo.Query
func (*MockMongoCollection) Insert ¶
func (c *MockMongoCollection) Insert(docs ...interface{}) error
func (*MockMongoCollection) Remove ¶
func (c *MockMongoCollection) Remove(selector interface{}) error
func (*MockMongoCollection) RemoveAll ¶
func (c *MockMongoCollection) RemoveAll(selector interface{}) (*mgo.ChangeInfo, error)
func (*MockMongoCollection) RemoveId ¶
func (c *MockMongoCollection) RemoveId(id interface{}) error
func (*MockMongoCollection) Update ¶
func (c *MockMongoCollection) Update(selector, update interface{}) error
func (*MockMongoCollection) UpdateAll ¶
func (c *MockMongoCollection) UpdateAll(selector, update interface{}) (*mgo.ChangeInfo, error)
func (*MockMongoCollection) UpdateId ¶
func (c *MockMongoCollection) UpdateId(id, update interface{}) error
func (*MockMongoCollection) Upsert ¶
func (c *MockMongoCollection) Upsert(selector, update interface{}) (*mgo.ChangeInfo, error)
func (*MockMongoCollection) UpsertId ¶
func (c *MockMongoCollection) UpsertId(id, update interface{}) (*mgo.ChangeInfo, error)
type MockMongoDatabase ¶
type MockMongoDatabase struct { CFunc func(name string) MongoCollection GridFSFunc func(prefix string) MongoGridFS }
func (*MockMongoDatabase) C ¶
func (m *MockMongoDatabase) C(name string) MongoCollection
func (*MockMongoDatabase) GridFS ¶
func (m *MockMongoDatabase) GridFS(prefix string) MongoGridFS
type MockMongoQuery ¶
type MockMongoQuery struct { AllFunc func(result interface{}) error CountFunc func() (int, error) DistinctFunc func(key string, result interface{}) error LimitFunc func(n int) MongoQuery OneFunc func(result interface{}) error SelectFunc func(selector interface{}) MongoQuery SkipFunc func(n int) MongoQuery SortFunc func(fields ...string) MongoQuery }
MockMongoQuery is used for unit testing MongoDB queries
func (*MockMongoQuery) All ¶
func (m *MockMongoQuery) All(result interface{}) error
func (*MockMongoQuery) Count ¶
func (m *MockMongoQuery) Count() (int, error)
func (*MockMongoQuery) Distinct ¶
func (m *MockMongoQuery) Distinct(key string, result interface{}) error
func (*MockMongoQuery) Limit ¶
func (m *MockMongoQuery) Limit(n int) MongoQuery
func (*MockMongoQuery) One ¶
func (m *MockMongoQuery) One(result interface{}) error
func (*MockMongoQuery) Select ¶
func (m *MockMongoQuery) Select(selector interface{}) MongoQuery
func (*MockMongoQuery) Skip ¶
func (m *MockMongoQuery) Skip(n int) MongoQuery
func (*MockMongoQuery) Sort ¶
func (m *MockMongoQuery) Sort(fields ...string) MongoQuery
type MockMongoSession ¶
type MockMongoSession struct {
DBFunc func(name string) MongoDatabase
}
func (*MockMongoSession) Close ¶
func (m *MockMongoSession) Close()
func (*MockMongoSession) DB ¶
func (m *MockMongoSession) DB(name string) MongoDatabase
type MongoCollection ¶
type MongoCollection interface { Count() (int, error) EnsureIndex(index mgo.Index) error Find(query interface{}) *MongoQueryWrapper FindId(id interface{}) *mgo.Query Insert(docs ...interface{}) error Remove(selector interface{}) error RemoveAll(selector interface{}) (*mgo.ChangeInfo, error) RemoveId(id interface{}) error Update(selector, update interface{}) error UpdateAll(selector, update interface{}) (*mgo.ChangeInfo, error) UpdateId(id, update interface{}) error Upsert(selector, update interface{}) (*mgo.ChangeInfo, error) UpsertId(id, update interface{}) (*mgo.ChangeInfo, error) }
MongoCollection is an interface describing MongoDB collection methods
type MongoDatabase ¶
type MongoDatabase interface { C(name string) MongoCollection GridFS(prefix string) *mgo.GridFS }
type MongoDatabaseService ¶
MongoDatabaseService encapsulates behaviors for working with MongoDB databases
func (*MongoDatabaseService) Connect ¶
func (d *MongoDatabaseService) Connect(connection *Connection) error
func (*MongoDatabaseService) Disconnect ¶
func (d *MongoDatabaseService) Disconnect()
func (*MongoDatabaseService) GetCollection ¶
func (d *MongoDatabaseService) GetCollection(name string) *mgo.Collection
func (*MongoDatabaseService) GetDB ¶
func (d *MongoDatabaseService) GetDB() *mgo.Database
type MongoGridFS ¶
type MongoGridFS interface { Create(name string) (MongoGridFile, error) Find(query interface{}) MongoQuery Open(name string) (MongoGridFile, error) OpenId(id interface{}) (MongoGridFile, error) OpenNext(MongoIter, MongoGridFile) bool Remove(name string) error RemoveId(id interface{}) error }
type MongoGridFile ¶
type MongoGridFile interface { Abort() Close() error ContentType() string GetMeta(result interface{}) error Id() interface{} MD5() (md5 string) Name() string Read(b []byte) (int, error) Seek(offset int64, whence int) (int64, error) SetChunkSize(bytes int) SetContentType(ctype string) SetId(id interface{}) SetMeta(metadata interface{}) SetName(name string) Size() (bytes int64) UploadDate() time.Time Write(data []byte) (int, error) }
type MongoQuery ¶
type MongoQuery interface { All(result interface{}) error Count() (int, error) Distinct(key string, result interface{}) error Limit(n int) MongoQuery One(result interface{}) error Select(selector interface{}) MongoQuery Skip(n int) MongoQuery Sort(fields ...string) MongoQuery }
MongoQuery is an interface describing a MongoDB query
type MongoQueryWrapper ¶
type MongoSession ¶
type MongoSession interface { Close() DB(name string) MongoDatabase }
type MongoUploader ¶
type MongoUploader struct {
DB DocumentDatabase
}
A MongoUploader uploads files to a MongoDB database. This struct satisfies the DatabaseUploader interface
func (*MongoUploader) Upload ¶
func (u *MongoUploader) Upload(reader io.Reader, name, path string) (*DatabaseUploadResponse, error)
Upload uploads a file into the MongoDB GridFS system
Source Files
¶
- BaseDatabase.go
- Connection.go
- DatabaseUploadResponse.go
- DatabaseUploader.go
- DocumentDatabase.go
- MockDocumentDatabase.go
- MockMongoCollection.go
- MockMongoDatabase.go
- MockMongoQuery.go
- MockMongoSession.go
- MongoCollection.go
- MongoDatabase.go
- MongoDatabaseService.go
- MongoGridFS.go
- MongoGridFile.go
- MongoIter.go
- MongoQuery.go
- MongoSession.go
- MongoUploader.go