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