Documentation
¶
Index ¶
- func Init(conf *Config) *mongo.Client
- func MergeBsonM(ms ...interface{}) bson.M
- func PipelineBuilder() builder
- func PipelineJsonBuilder(pipelineJSON []byte) (builder builder, err error)
- func RunInCtxTransaction(ctx context.Context, client *mongo.Client, callback TxFn) error
- func RunInTransaction(client *mongo.Client, callback TxFn) error
- type AggregateObject
- type ChangeStreamWatchObject
- func (o *ChangeStreamWatchObject) Do() (<-chan WatchResult, error)
- func (o *ChangeStreamWatchObject) FullDocumentOnUpdate(full bool) *ChangeStreamWatchObject
- func (o *ChangeStreamWatchObject) Pipeline(pipeline mongo.Pipeline) *ChangeStreamWatchObject
- func (o *ChangeStreamWatchObject) ResumeAfter(resumeToken interface{}) *ChangeStreamWatchObject
- type Coll
- func (o Coll) Aggregate(ctx context.Context) *AggregateObject
- func (o Coll) Count(ctx context.Context) *CountObject
- func (o Coll) DeleteMany(ctx context.Context) *DeleteManyObject
- func (o Coll) DeleteOne(ctx context.Context) *DeleteOneObject
- func (o Coll) Distinct(ctx context.Context) *DistinctObject
- func (o Coll) Drop(ctx context.Context) error
- func (o Coll) FindMany(ctx context.Context) *FindManyObject
- func (o Coll) FindOne(ctx context.Context) *FindOneObject
- func (o Coll) FindOneAndDelete(ctx context.Context) *FindOneAndDeleteObject
- func (o Coll) FindOneAndUpdate(ctx context.Context) *FindOneAndUpdateObject
- func (o Coll) Indexes(ctx context.Context) *IndexesObject
- func (o Coll) InsertMany(ctx context.Context) *InsertManyObject
- func (o Coll) InsertOne(ctx context.Context) *InsertOneObject
- func (o Coll) Name() string
- func (o Coll) ReplaceOne(ctx context.Context) *ReplaceOneObject
- func (o Coll) Tx(ctx context.Context) *TxObject
- func (o Coll) Unwrap() *mongo.Collection
- func (o Coll) UpdateMany(ctx context.Context) *UpdateManyObject
- func (o Coll) UpdateOne(ctx context.Context) *UpdateOneObject
- func (o Coll) WatchChangeStream(ctx context.Context) *ChangeStreamWatchObject
- type Config
- type CountObject
- type DeleteManyObject
- type DeleteOneObject
- type DistinctObject
- type FindManyObject
- func (o *FindManyObject) Collation(c *options.Collation) *FindManyObject
- func (o *FindManyObject) Do(results interface{}) error
- func (o *FindManyObject) DoStream() (chan interface{}, error)
- func (o *FindManyObject) Limit(i int64) *FindManyObject
- func (o *FindManyObject) Select(projection interface{}) *FindManyObject
- func (o *FindManyObject) Skip(i int64) *FindManyObject
- func (o *FindManyObject) Sort(sort interface{}) *FindManyObject
- func (o *FindManyObject) Where(filter interface{}) *FindManyObject
- type FindOneAndDeleteObject
- func (o *FindOneAndDeleteObject) Do(result interface{}) error
- func (o *FindOneAndDeleteObject) Select(projection interface{}) *FindOneAndDeleteObject
- func (o *FindOneAndDeleteObject) Sort(sort interface{}) *FindOneAndDeleteObject
- func (o *FindOneAndDeleteObject) Where(filter interface{}) *FindOneAndDeleteObject
- type FindOneAndUpdateObject
- func (o *FindOneAndUpdateObject) Do(result interface{}) error
- func (o *FindOneAndUpdateObject) ReturnAfter(returnAfter bool) *FindOneAndUpdateObject
- func (o *FindOneAndUpdateObject) Select(projection interface{}) *FindOneAndUpdateObject
- func (o *FindOneAndUpdateObject) Set(doc interface{}) *FindOneAndUpdateObject
- func (o *FindOneAndUpdateObject) Sort(sort interface{}) *FindOneAndUpdateObject
- func (o *FindOneAndUpdateObject) Unset(doc interface{}) *FindOneAndUpdateObject
- func (o *FindOneAndUpdateObject) Updater(doc interface{}) *FindOneAndUpdateObject
- func (o *FindOneAndUpdateObject) Upsert() *FindOneAndUpdateObject
- func (o *FindOneAndUpdateObject) Where(filter interface{}) *FindOneAndUpdateObject
- type FindOneObject
- func (o *FindOneObject) Do(result interface{}) error
- func (o *FindOneObject) Select(projection interface{}) *FindOneObject
- func (o *FindOneObject) Skip(i int64) *FindOneObject
- func (o *FindOneObject) Sort(sort interface{}) *FindOneObject
- func (o *FindOneObject) Where(filter interface{}) *FindOneObject
- type IndexesObject
- type InsertManyObject
- type InsertOneObject
- type PipelineBuilderType
- type ReplaceOneObject
- type TxFn
- type TxObject
- type UpdateManyObject
- func (o *UpdateManyObject) Do() (*mongo.UpdateResult, error)
- func (o *UpdateManyObject) Set(doc interface{}) *UpdateManyObject
- func (o *UpdateManyObject) Updater(doc interface{}) *UpdateManyObject
- func (o *UpdateManyObject) Upsert() *UpdateManyObject
- func (o *UpdateManyObject) Where(filter interface{}) *UpdateManyObject
- type UpdateOneObject
- func (o *UpdateOneObject) Do() (string, error)
- func (o *UpdateOneObject) Pull(doc interface{}) *UpdateOneObject
- func (o *UpdateOneObject) Set(doc interface{}) *UpdateOneObject
- func (o *UpdateOneObject) Unset(doc interface{}) *UpdateOneObject
- func (o *UpdateOneObject) Updater(doc interface{}) *UpdateOneObject
- func (o *UpdateOneObject) Upsert() *UpdateOneObject
- func (o *UpdateOneObject) Where(filter interface{}) *UpdateOneObject
- type WatchResult
- type WrDocumentKey
- type WrNamespace
- type WrUpdateDescription
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func PipelineBuilder ¶
func PipelineBuilder() builder
func PipelineJsonBuilder ¶
func RunInCtxTransaction ¶
Types ¶
type AggregateObject ¶
type AggregateObject struct {
// contains filtered or unexported fields
}
func (*AggregateObject) Do ¶
func (o *AggregateObject) Do(results interface{}) error
func (*AggregateObject) DoCount ¶
func (o *AggregateObject) DoCount() (int64, error)
func (*AggregateObject) Pipelines ¶
func (o *AggregateObject) Pipelines(p mongo.Pipeline) *AggregateObject
type ChangeStreamWatchObject ¶
type ChangeStreamWatchObject struct {
// contains filtered or unexported fields
}
func (*ChangeStreamWatchObject) Do ¶
func (o *ChangeStreamWatchObject) Do() (<-chan WatchResult, error)
out will be automatically closed when no value available or error happened
func (*ChangeStreamWatchObject) FullDocumentOnUpdate ¶
func (o *ChangeStreamWatchObject) FullDocumentOnUpdate(full bool) *ChangeStreamWatchObject
func (*ChangeStreamWatchObject) Pipeline ¶
func (o *ChangeStreamWatchObject) Pipeline(pipeline mongo.Pipeline) *ChangeStreamWatchObject
func (*ChangeStreamWatchObject) ResumeAfter ¶
func (o *ChangeStreamWatchObject) ResumeAfter(resumeToken interface{}) *ChangeStreamWatchObject
type Coll ¶
type Coll struct {
// contains filtered or unexported fields
}
func From ¶
func From(coll *mongo.Collection) Coll
func (Coll) DeleteMany ¶
func (o Coll) DeleteMany(ctx context.Context) *DeleteManyObject
func (Coll) FindOneAndDelete ¶
func (o Coll) FindOneAndDelete(ctx context.Context) *FindOneAndDeleteObject
func (Coll) FindOneAndUpdate ¶
func (o Coll) FindOneAndUpdate(ctx context.Context) *FindOneAndUpdateObject
func (Coll) InsertMany ¶
func (o Coll) InsertMany(ctx context.Context) *InsertManyObject
func (Coll) ReplaceOne ¶
func (o Coll) ReplaceOne(ctx context.Context) *ReplaceOneObject
func (Coll) Unwrap ¶
func (o Coll) Unwrap() *mongo.Collection
func (Coll) UpdateMany ¶
func (o Coll) UpdateMany(ctx context.Context) *UpdateManyObject
func (Coll) WatchChangeStream ¶
func (o Coll) WatchChangeStream(ctx context.Context) *ChangeStreamWatchObject
type CountObject ¶
type CountObject struct {
// contains filtered or unexported fields
}
func (*CountObject) Do ¶
func (o *CountObject) Do() (int64, error)
func (*CountObject) Limit ¶
func (o *CountObject) Limit(i int64) *CountObject
func (*CountObject) Skip ¶
func (o *CountObject) Skip(i int64) *CountObject
func (*CountObject) Where ¶
func (o *CountObject) Where(filter interface{}) *CountObject
type DeleteManyObject ¶
type DeleteManyObject struct {
// contains filtered or unexported fields
}
func (*DeleteManyObject) Do ¶
func (o *DeleteManyObject) Do() (deleteCount int, err error)
func (*DeleteManyObject) Where ¶
func (o *DeleteManyObject) Where(filter interface{}) *DeleteManyObject
type DeleteOneObject ¶
type DeleteOneObject struct {
// contains filtered or unexported fields
}
func (*DeleteOneObject) Do ¶
func (o *DeleteOneObject) Do() (deleteCount int, err error)
func (*DeleteOneObject) Where ¶
func (o *DeleteOneObject) Where(filter interface{}) *DeleteOneObject
type DistinctObject ¶
type DistinctObject struct {
// contains filtered or unexported fields
}
func (*DistinctObject) Do ¶
func (o *DistinctObject) Do() ([]interface{}, error)
func (*DistinctObject) Field ¶
func (o *DistinctObject) Field(fieldName string) *DistinctObject
func (*DistinctObject) Where ¶
func (o *DistinctObject) Where(filter interface{}) *DistinctObject
type FindManyObject ¶
type FindManyObject struct {
// contains filtered or unexported fields
}
func (*FindManyObject) Collation ¶
func (o *FindManyObject) Collation(c *options.Collation) *FindManyObject
func (*FindManyObject) Do ¶
func (o *FindManyObject) Do(results interface{}) error
func (*FindManyObject) DoStream ¶
func (o *FindManyObject) DoStream() (chan interface{}, error)
TODO: 1. customize element type 2. 将来 golang 支持泛型后,可以用更优雅的方式改进这个函数 当错误发生或者context done,或者没有更多元素时,out chan会被自行关闭
func (*FindManyObject) Limit ¶
func (o *FindManyObject) Limit(i int64) *FindManyObject
func (*FindManyObject) Select ¶
func (o *FindManyObject) Select(projection interface{}) *FindManyObject
func (*FindManyObject) Skip ¶
func (o *FindManyObject) Skip(i int64) *FindManyObject
func (*FindManyObject) Sort ¶
func (o *FindManyObject) Sort(sort interface{}) *FindManyObject
func (*FindManyObject) Where ¶
func (o *FindManyObject) Where(filter interface{}) *FindManyObject
type FindOneAndDeleteObject ¶
type FindOneAndDeleteObject struct {
// contains filtered or unexported fields
}
func (*FindOneAndDeleteObject) Do ¶
func (o *FindOneAndDeleteObject) Do(result interface{}) error
func (*FindOneAndDeleteObject) Select ¶
func (o *FindOneAndDeleteObject) Select(projection interface{}) *FindOneAndDeleteObject
func (*FindOneAndDeleteObject) Sort ¶
func (o *FindOneAndDeleteObject) Sort(sort interface{}) *FindOneAndDeleteObject
func (*FindOneAndDeleteObject) Where ¶
func (o *FindOneAndDeleteObject) Where(filter interface{}) *FindOneAndDeleteObject
type FindOneAndUpdateObject ¶
type FindOneAndUpdateObject struct {
// contains filtered or unexported fields
}
func (*FindOneAndUpdateObject) Do ¶
func (o *FindOneAndUpdateObject) Do(result interface{}) error
func (*FindOneAndUpdateObject) ReturnAfter ¶
func (o *FindOneAndUpdateObject) ReturnAfter(returnAfter bool) *FindOneAndUpdateObject
func (*FindOneAndUpdateObject) Select ¶
func (o *FindOneAndUpdateObject) Select(projection interface{}) *FindOneAndUpdateObject
func (*FindOneAndUpdateObject) Set ¶
func (o *FindOneAndUpdateObject) Set(doc interface{}) *FindOneAndUpdateObject
func (*FindOneAndUpdateObject) Sort ¶
func (o *FindOneAndUpdateObject) Sort(sort interface{}) *FindOneAndUpdateObject
func (*FindOneAndUpdateObject) Unset ¶
func (o *FindOneAndUpdateObject) Unset(doc interface{}) *FindOneAndUpdateObject
func (*FindOneAndUpdateObject) Updater ¶
func (o *FindOneAndUpdateObject) Updater(doc interface{}) *FindOneAndUpdateObject
func (*FindOneAndUpdateObject) Upsert ¶
func (o *FindOneAndUpdateObject) Upsert() *FindOneAndUpdateObject
func (*FindOneAndUpdateObject) Where ¶
func (o *FindOneAndUpdateObject) Where(filter interface{}) *FindOneAndUpdateObject
type FindOneObject ¶
type FindOneObject struct {
// contains filtered or unexported fields
}
func (*FindOneObject) Do ¶
func (o *FindOneObject) Do(result interface{}) error
func (*FindOneObject) Select ¶
func (o *FindOneObject) Select(projection interface{}) *FindOneObject
func (*FindOneObject) Skip ¶
func (o *FindOneObject) Skip(i int64) *FindOneObject
func (*FindOneObject) Sort ¶
func (o *FindOneObject) Sort(sort interface{}) *FindOneObject
func (*FindOneObject) Where ¶
func (o *FindOneObject) Where(filter interface{}) *FindOneObject
type IndexesObject ¶
type IndexesObject struct {
// contains filtered or unexported fields
}
func (*IndexesObject) Do ¶
func (o *IndexesObject) Do() ([]string, error)
func (*IndexesObject) Keys ¶
func (o *IndexesObject) Keys(keys interface{}) *IndexesObject
func (*IndexesObject) TTLKey ¶
func (o *IndexesObject) TTLKey(key interface{}, expireSeconds int) *IndexesObject
TTLKey: key should be date specifying the expire time
func (*IndexesObject) Unique ¶
func (o *IndexesObject) Unique() *IndexesObject
type InsertManyObject ¶
type InsertManyObject struct {
// contains filtered or unexported fields
}
func (*InsertManyObject) Do ¶
func (o *InsertManyObject) Do(documents []interface{}) (*mongo.InsertManyResult, error)
func (*InsertManyObject) Ordered ¶
func (o *InsertManyObject) Ordered(ordered bool) *InsertManyObject
If true, no writes will be executed after one fails. The default value is true.
type InsertOneObject ¶
type InsertOneObject struct {
// contains filtered or unexported fields
}
func (*InsertOneObject) Do ¶
func (o *InsertOneObject) Do(document interface{}) (ID string, err error)
type PipelineBuilderType ¶
type ReplaceOneObject ¶
type ReplaceOneObject struct {
// contains filtered or unexported fields
}
func (*ReplaceOneObject) Do ¶
func (o *ReplaceOneObject) Do() (*mongo.UpdateResult, error)
func (*ReplaceOneObject) Replace ¶
func (o *ReplaceOneObject) Replace(doc interface{}) *ReplaceOneObject
func (*ReplaceOneObject) Upsert ¶
func (o *ReplaceOneObject) Upsert() *ReplaceOneObject
func (*ReplaceOneObject) Where ¶
func (o *ReplaceOneObject) Where(filter interface{}) *ReplaceOneObject
type TxFn ¶
type TxFn = func(sessCtx mongo.SessionContext) (interface{}, error)
type UpdateManyObject ¶
type UpdateManyObject struct {
// contains filtered or unexported fields
}
func (*UpdateManyObject) Do ¶
func (o *UpdateManyObject) Do() (*mongo.UpdateResult, error)
func (*UpdateManyObject) Set ¶
func (o *UpdateManyObject) Set(doc interface{}) *UpdateManyObject
func (*UpdateManyObject) Updater ¶
func (o *UpdateManyObject) Updater(doc interface{}) *UpdateManyObject
func (*UpdateManyObject) Upsert ¶
func (o *UpdateManyObject) Upsert() *UpdateManyObject
func (*UpdateManyObject) Where ¶
func (o *UpdateManyObject) Where(filter interface{}) *UpdateManyObject
type UpdateOneObject ¶
type UpdateOneObject struct {
// contains filtered or unexported fields
}
func (*UpdateOneObject) Do ¶
func (o *UpdateOneObject) Do() (string, error)
warning: 如果没有发生insert(upsert时,已经存在匹配的记录),则不会返回ID
func (*UpdateOneObject) Pull ¶
func (o *UpdateOneObject) Pull(doc interface{}) *UpdateOneObject
func (*UpdateOneObject) Set ¶
func (o *UpdateOneObject) Set(doc interface{}) *UpdateOneObject
func (*UpdateOneObject) Unset ¶
func (o *UpdateOneObject) Unset(doc interface{}) *UpdateOneObject
func (*UpdateOneObject) Updater ¶
func (o *UpdateOneObject) Updater(doc interface{}) *UpdateOneObject
func (*UpdateOneObject) Upsert ¶
func (o *UpdateOneObject) Upsert() *UpdateOneObject
func (*UpdateOneObject) Where ¶
func (o *UpdateOneObject) Where(filter interface{}) *UpdateOneObject
type WatchResult ¶
type WatchResult struct { ID string `bson:"-"` ClusterTime primitive.Timestamp `bson:"clusterTime"` Namespace WrNamespace `bson:"ns"` ResumeToken bson.M `bson:"_id"` OperationType string `bson:"operationType"` FullDocument bson.M `bson:"fullDocument"` DocumentKey WrDocumentKey `bson:"documentKey"` UpdateDescription WrUpdateDescription `bson:"updateDescription"` }
type WrDocumentKey ¶
type WrNamespace ¶
Click to show internal directories.
Click to hide internal directories.