db

package
v0.0.0-...-418c65a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 26, 2019 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	GlobalsCollection = "globals"
)

Variables

View Source
var (
	NoProjection = bson.M{}
	NoSort       = []string{}
	NoSkip       = 0
	NoLimit      = 0
)

Functions

func Aggregate

func Aggregate(collection string, pipeline interface{}, out interface{}) error

Aggregate runs an aggregation pipeline on a collection and unmarshals the results to the given "out" interface (usually a pointer to an array of structs/bson.M)

func Clear

func Clear(collection string) error

Clear removes all documents from a specified collection.

func ClearCollections

func ClearCollections(collections ...string) error

ClearCollections clears all documents from all the specified collections, returning an error immediately if clearing any one of them fails.

func ClearGridCollections

func ClearGridCollections(fsPrefix string) error

func Count

func Count(collection string, query interface{}) (int, error)

Count run a count command with the specified query against the collection.

func CountQ

func CountQ(collection string, q Q) (int, error)

CountQ runs a Q count query against the given collection.

func DropAllIndexes

func DropAllIndexes(collection string) error

DropIndex takes in a collection and a slice of keys and drops those indexes

func EnsureIndex

func EnsureIndex(collection string, index mongo.IndexModel) error

EnsureIndex takes in a collection and ensures that the

func FindAll

func FindAll(collection string, query interface{},
	projection interface{}, sort []string, skip int, limit int,
	out interface{}) error

FindAll finds the items from the specified collection and unmarshals them into the provided interface, which must be a slice.

func FindAllQ

func FindAllQ(collection string, q Q, out interface{}) error

FindAllQ runs a Q query against the given collection, applying the results to "out."

func FindAndModify

func FindAndModify(collection string, query interface{}, sort []string, change db.Change, out interface{}) (*db.ChangeInfo, error)

FindAndModify runs the specified query and change against the collection, unmarshaling the result into the specified interface.

func FindOne

func FindOne(collection string, query interface{},
	projection interface{}, sort []string, out interface{}) error

FindOne finds one item from the specified collection and unmarshals it into the provided interface, which must be a pointer.

func FindOneQ

func FindOneQ(collection string, q Q, out interface{}) error

FindOneQ runs a Q query against the given collection, applying the results to "out." Only reads one document from the DB.

func GetGridFile

func GetGridFile(fsPrefix, name string) (io.ReadCloser, error)

GetGridFile returns a ReadCloser for a file stored with the given name under the GridFS prefix.

func GetNewBuildVariantBuildNumber

func GetNewBuildVariantBuildNumber(buildVariant string) (uint64, error)

GetNewBuildVariantBuildNumber atomically gets a new number for a build, given its variant name.

func Insert

func Insert(collection string, item interface{}) error

Insert inserts the specified item into the specified collection.

func InsertMany

func InsertMany(collection string, items ...interface{}) error

func InsertManyUnordered

func InsertManyUnordered(c string, items ...interface{}) error

func IsDuplicateKey

func IsDuplicateKey(err error) bool

func Remove

func Remove(collection string, query interface{}) error

Remove removes one item matching the query from the specified collection.

func RemoveAll

func RemoveAll(collection string, query interface{}) error

RemoveAll removes all items matching the query from the specified collection.

func RemoveAllQ

func RemoveAllQ(collection string, q Q) error

RemoveAllQ removes all docs that satisfy the query

func Update

func Update(collection string, query interface{}, update interface{}) error

Update updates one matching document in the collection.

func UpdateAll

func UpdateAll(collection string, query interface{}, update interface{}) (*db.ChangeInfo, error)

UpdateAll updates all matching documents in the collection.

func UpdateId

func UpdateId(collection string, id, update interface{}) error

UpdateId updates one _id-matching document in the collection.

func Upsert

func Upsert(collection string, query interface{}, update interface{}) (*db.ChangeInfo, error)

Upsert run the specified update against the collection as an upsert operation.

func WriteGridFile

func WriteGridFile(fsPrefix, name string, source io.Reader) error

WriteGridFile writes the data in the source Reader to a GridFS collection with the given prefix and filename.

Types

type Global

type Global struct {
	BuildVariant    string `bson:"_id"`
	LastBuildNumber uint64 `bson:"last_build_number"`
	LastTaskNumber  uint64 `bson:"last_task_number"`
}

Global stores internal tracking information.

type Q

type Q struct {
	// contains filtered or unexported fields
}

Q holds all information necessary to execute a query

func Query

func Query(filter interface{}) Q

Query creates a db.Q for the given MongoDB query. The filter can be a struct, bson.D, bson.M, nil, etc.

func (Q) Filter

func (q Q) Filter(filter interface{}) Q

func (Q) GetBSON

func (q Q) GetBSON() (interface{}, error)

func (Q) Limit

func (q Q) Limit(limit int) Q

func (Q) MarshalBSON

func (q Q) MarshalBSON() ([]byte, error)

func (Q) Project

func (q Q) Project(projection interface{}) Q

func (Q) SetBSON

func (q Q) SetBSON(_ bson.Raw) error

func (Q) Skip

func (q Q) Skip(skip int) Q

func (Q) Sort

func (q Q) Sort(sort []string) Q

func (Q) UnmarshalBSON

func (q Q) UnmarshalBSON(_ []byte) error

func (Q) WithFields

func (q Q) WithFields(fields ...string) Q

func (Q) WithoutFields

func (q Q) WithoutFields(fields ...string) Q

type SessionFactory

type SessionFactory interface {
	GetSession() (db.Session, db.Database, error)
}

func GetGlobalSessionFactory

func GetGlobalSessionFactory() SessionFactory

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL