Documentation
¶
Index ¶
- func BoolPtr(v bool) *bool
- func Float64Ptr(v float64) *float64
- func GetTypeName(v any) string
- func Int32Ptr(v int32) *int32
- func Int64Ptr(v int64) *int64
- func StringPtr(v string) *string
- type AggregateOptions
- type BulkWriteOptions
- type ChangeStream
- type ChangeStreamOptions
- type ChangeStreamPreAndPostImages
- type Collation
- type CountOptions
- type CreateCollectionOptions
- type DeleteOptions
- type DistinctOptions
- type DocumentBulkWriteResult
- type DocumentCollection
- type DocumentCursor
- type DocumentDeleteResult
- type DocumentInterface
- type DocumentResult
- type DocumentUpdateResult
- type EstimatedCountOptions
- type FilterBuilder
- func (fb FilterBuilder) And(filters ...any) FilterBuilder
- func (fb FilterBuilder) Build() bson.M
- func (fb FilterBuilder) Eq(field string, value any) FilterBuilder
- func (fb FilterBuilder) Exists(field string, exists bool) FilterBuilder
- func (fb FilterBuilder) Gt(field string, value any) FilterBuilder
- func (fb FilterBuilder) Gte(field string, value any) FilterBuilder
- func (fb FilterBuilder) In(field string, values ...any) FilterBuilder
- func (fb FilterBuilder) Lt(field string, value any) FilterBuilder
- func (fb FilterBuilder) Lte(field string, value any) FilterBuilder
- func (fb FilterBuilder) Ne(field string, value any) FilterBuilder
- func (fb FilterBuilder) Nin(field string, values ...any) FilterBuilder
- func (fb FilterBuilder) Nor(filters ...any) FilterBuilder
- func (fb FilterBuilder) Not(filter any) FilterBuilder
- func (fb FilterBuilder) Or(filters ...any) FilterBuilder
- func (fb FilterBuilder) Regex(field, pattern, options string) FilterBuilder
- func (fb FilterBuilder) Type(field string, bsonType any) FilterBuilder
- type FindOneOptions
- type FindOptions
- type IndexModel
- type IndexOptions
- type InsertManyOptions
- type InsertOneOptions
- type Interface
- type ProjectionBuilder
- func (pb ProjectionBuilder) Build() bson.M
- func (pb ProjectionBuilder) ElemMatch(field string, condition any) ProjectionBuilder
- func (pb ProjectionBuilder) Exclude(fields ...string) ProjectionBuilder
- func (pb ProjectionBuilder) Include(fields ...string) ProjectionBuilder
- func (pb ProjectionBuilder) Slice(field string, limit int) ProjectionBuilder
- func (pb ProjectionBuilder) SliceWithSkip(field string, skip, limit int) ProjectionBuilder
- type ReplaceOptions
- type SortBuilder
- type Statement
- type Tx
- type UpdateBuilder
- func (ub UpdateBuilder) AddToSet(field string, value any) UpdateBuilder
- func (ub UpdateBuilder) Build() bson.M
- func (ub UpdateBuilder) CurrentDate(fields ...string) UpdateBuilder
- func (ub UpdateBuilder) Inc(field string, value any) UpdateBuilder
- func (ub UpdateBuilder) Pull(field string, condition any) UpdateBuilder
- func (ub UpdateBuilder) Push(field string, value any) UpdateBuilder
- func (ub UpdateBuilder) Set(field string, value any) UpdateBuilder
- func (ub UpdateBuilder) Unset(fields ...string) UpdateBuilder
- type UpdateOptions
- type WriteModel
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Float64Ptr ¶ added in v0.7.1
func GetTypeName ¶ added in v0.7.1
Helper to get the underlying type name for reflection-based operations
Types ¶
type AggregateOptions ¶ added in v0.7.1
type BulkWriteOptions ¶ added in v0.7.1
type ChangeStream ¶ added in v0.7.1
type ChangeStream interface { Next(ctx context.Context) bool TryNext(ctx context.Context) bool Decode(val any) error Err() error Close(ctx context.Context) error ResumeToken() bson.Raw }
ChangeStream represents a change stream for watching collection changes
type ChangeStreamOptions ¶ added in v0.7.1
type ChangeStreamPreAndPostImages ¶ added in v0.7.1
type ChangeStreamPreAndPostImages struct {
Enabled *bool
}
type CountOptions ¶ added in v0.7.1
type CreateCollectionOptions ¶ added in v0.7.1
type CreateCollectionOptions struct { Capped *bool SizeInBytes *int64 MaxDocuments *int64 StorageEngine any Validator any ValidationLevel *string ValidationAction *string IndexOptionDefaults any ViewOn *string Pipeline any Collation *Collation ChangeStreamPreAndPostImages *ChangeStreamPreAndPostImages }
type DeleteOptions ¶ added in v0.7.1
type DeleteOptions struct { }
type DistinctOptions ¶ added in v0.7.1
type DocumentBulkWriteResult ¶ added in v0.7.1
type DocumentBulkWriteResult interface { InsertedCount() int64 MatchedCount() int64 ModifiedCount() int64 DeletedCount() int64 UpsertedCount() int64 UpsertedIDs() map[int64]any }
DocumentBulkWriteResult represents the result of a bulk write operation
type DocumentCollection ¶ added in v0.7.1
type DocumentCollection interface { // Single document operations InsertOne(ctx context.Context, document any, opts *InsertOneOptions) (any, error) FindOne(ctx context.Context, filter any, opts *FindOneOptions) DocumentResult UpdateOne(ctx context.Context, filter any, update any, opts *UpdateOptions) (DocumentUpdateResult, error) ReplaceOne(ctx context.Context, filter any, replacement any, opts *ReplaceOptions) (DocumentUpdateResult, error) DeleteOne(ctx context.Context, filter any, opts *DeleteOptions) (DocumentDeleteResult, error) // Multiple document operations InsertMany(ctx context.Context, documents []any, opts *InsertManyOptions) ([]any, error) Find(ctx context.Context, filter any, opts *FindOptions) (DocumentCursor, error) UpdateMany(ctx context.Context, filter any, update any, opts *UpdateOptions) (DocumentUpdateResult, error) DeleteMany(ctx context.Context, filter any, opts *DeleteOptions) (DocumentDeleteResult, error) // Count operations CountDocuments(ctx context.Context, filter any, opts *CountOptions) (int64, error) EstimatedDocumentCount(ctx context.Context, opts *EstimatedCountOptions) (int64, error) // Aggregation operations Aggregate(ctx context.Context, pipeline any, opts *AggregateOptions) (DocumentCursor, error) Distinct(ctx context.Context, fieldName string, filter any, opts *DistinctOptions) ([]any, error) // Index operations CreateIndex(ctx context.Context, model IndexModel) error CreateIndexes(ctx context.Context, models []IndexModel) error DropIndex(ctx context.Context, name string) error ListIndexes(ctx context.Context) (DocumentCursor, error) // Bulk operations BulkWrite(ctx context.Context, models []WriteModel, opts *BulkWriteOptions) (DocumentBulkWriteResult, error) // Watch changes (if supported) Watch(ctx context.Context, pipeline any, opts *ChangeStreamOptions) (ChangeStream, error) }
DocumentCollection defines operations on a specific collection
type DocumentCursor ¶ added in v0.7.1
type DocumentCursor interface { // Iteration Next(ctx context.Context) bool TryNext(ctx context.Context) bool Decode(val any) error All(ctx context.Context, results any) error // Cursor management Close(ctx context.Context) error Err() error ID() int64 // Current document access Current() bson.Raw }
DocumentCursor represents a cursor for iterating over query results
type DocumentDeleteResult ¶ added in v0.7.1
type DocumentDeleteResult interface {
DeletedCount() int64
}
DocumentDeleteResult represents the result of a delete operation
type DocumentInterface ¶ added in v0.7.1
type DocumentInterface interface { // Collection operations Collection(name string) DocumentCollection // Database-level operations CreateCollection(ctx context.Context, name string, opts *CreateCollectionOptions) error DropCollection(ctx context.Context, name string) error // Index operations CreateIndex(ctx context.Context, collection string, model IndexModel) error DropIndex(ctx context.Context, collection string, name string) error ListIndexes(ctx context.Context, collection string) ([]IndexModel, error) // Aggregation operations Aggregate(ctx context.Context, collection string, pipeline any, opts *AggregateOptions) (DocumentCursor, error) // Database administration RunCommand(ctx context.Context, command any) DocumentResult }
DocumentInterface defines operations for document-oriented databases like MongoDB This interface provides native document database operations alongside the SQL-compatible Interface
func AsDocumentInterface ¶ added in v0.7.1
func AsDocumentInterface(db Interface) (DocumentInterface, bool)
Type assertions for checking if an Interface also implements DocumentInterface
type DocumentResult ¶ added in v0.7.1
DocumentResult represents a single document result
type DocumentUpdateResult ¶ added in v0.7.1
type DocumentUpdateResult interface { MatchedCount() int64 ModifiedCount() int64 UpsertedCount() int64 UpsertedID() any }
DocumentUpdateResult represents the result of an update operation
type EstimatedCountOptions ¶ added in v0.7.1
type FilterBuilder ¶ added in v0.7.1
type FilterBuilder struct {
// contains filtered or unexported fields
}
FilterBuilder provides a fluent interface for building MongoDB filters
func Filter ¶ added in v0.7.1
func Filter() FilterBuilder
Utility functions for creating common filter types
func (FilterBuilder) And ¶ added in v0.7.1
func (fb FilterBuilder) And(filters ...any) FilterBuilder
func (FilterBuilder) Build ¶ added in v0.7.1
func (fb FilterBuilder) Build() bson.M
func (FilterBuilder) Eq ¶ added in v0.7.1
func (fb FilterBuilder) Eq(field string, value any) FilterBuilder
func (FilterBuilder) Exists ¶ added in v0.7.1
func (fb FilterBuilder) Exists(field string, exists bool) FilterBuilder
func (FilterBuilder) Gt ¶ added in v0.7.1
func (fb FilterBuilder) Gt(field string, value any) FilterBuilder
func (FilterBuilder) Gte ¶ added in v0.7.1
func (fb FilterBuilder) Gte(field string, value any) FilterBuilder
func (FilterBuilder) In ¶ added in v0.7.1
func (fb FilterBuilder) In(field string, values ...any) FilterBuilder
func (FilterBuilder) Lt ¶ added in v0.7.1
func (fb FilterBuilder) Lt(field string, value any) FilterBuilder
func (FilterBuilder) Lte ¶ added in v0.7.1
func (fb FilterBuilder) Lte(field string, value any) FilterBuilder
func (FilterBuilder) Ne ¶ added in v0.7.1
func (fb FilterBuilder) Ne(field string, value any) FilterBuilder
func (FilterBuilder) Nin ¶ added in v0.7.1
func (fb FilterBuilder) Nin(field string, values ...any) FilterBuilder
func (FilterBuilder) Nor ¶ added in v0.7.1
func (fb FilterBuilder) Nor(filters ...any) FilterBuilder
func (FilterBuilder) Not ¶ added in v0.7.1
func (fb FilterBuilder) Not(filter any) FilterBuilder
func (FilterBuilder) Or ¶ added in v0.7.1
func (fb FilterBuilder) Or(filters ...any) FilterBuilder
func (FilterBuilder) Regex ¶ added in v0.7.1
func (fb FilterBuilder) Regex(field, pattern, options string) FilterBuilder
func (FilterBuilder) Type ¶ added in v0.7.1
func (fb FilterBuilder) Type(field string, bsonType any) FilterBuilder
type FindOneOptions ¶ added in v0.7.1
type FindOptions ¶ added in v0.7.1
type IndexModel ¶ added in v0.7.1
type IndexModel struct { Keys any Options *IndexOptions }
IndexModel represents an index specification
type IndexOptions ¶ added in v0.7.1
type IndexOptions struct { Background *bool ExpireAfterSeconds *int32 Name *string Sparse *bool StorageEngine any Unique *bool Version *int32 DefaultLanguage *string LanguageOverride *string TextVersion *int32 Weights any SphereVersion *int32 Bits *int32 Max *float64 Min *float64 BucketSize *float64 PartialFilterExpression any Collation *Collation WildcardProjection any Hidden *bool }
type InsertManyOptions ¶ added in v0.7.1
type InsertOneOptions ¶ added in v0.7.1
type InsertOneOptions struct {
BypassDocumentValidation *bool
}
Options structs for various operations
type ProjectionBuilder ¶ added in v0.7.1
type ProjectionBuilder struct {
// contains filtered or unexported fields
}
func Projection ¶ added in v0.7.1
func Projection() ProjectionBuilder
Projection builder for specifying which fields to include/exclude
func (ProjectionBuilder) Build ¶ added in v0.7.1
func (pb ProjectionBuilder) Build() bson.M
func (ProjectionBuilder) ElemMatch ¶ added in v0.7.1
func (pb ProjectionBuilder) ElemMatch(field string, condition any) ProjectionBuilder
func (ProjectionBuilder) Exclude ¶ added in v0.7.1
func (pb ProjectionBuilder) Exclude(fields ...string) ProjectionBuilder
func (ProjectionBuilder) Include ¶ added in v0.7.1
func (pb ProjectionBuilder) Include(fields ...string) ProjectionBuilder
func (ProjectionBuilder) Slice ¶ added in v0.7.1
func (pb ProjectionBuilder) Slice(field string, limit int) ProjectionBuilder
func (ProjectionBuilder) SliceWithSkip ¶ added in v0.7.1
func (pb ProjectionBuilder) SliceWithSkip(field string, skip, limit int) ProjectionBuilder
type ReplaceOptions ¶ added in v0.7.1
type SortBuilder ¶ added in v0.7.1
type SortBuilder struct {
// contains filtered or unexported fields
}
func (SortBuilder) Asc ¶ added in v0.7.1
func (sb SortBuilder) Asc(fields ...string) SortBuilder
func (SortBuilder) Build ¶ added in v0.7.1
func (sb SortBuilder) Build() bson.D
func (SortBuilder) Desc ¶ added in v0.7.1
func (sb SortBuilder) Desc(fields ...string) SortBuilder
type UpdateBuilder ¶ added in v0.7.1
type UpdateBuilder struct {
// contains filtered or unexported fields
}
func Update ¶ added in v0.7.1
func Update() UpdateBuilder
Update builder for creating update documents
func (UpdateBuilder) AddToSet ¶ added in v0.7.1
func (ub UpdateBuilder) AddToSet(field string, value any) UpdateBuilder
func (UpdateBuilder) Build ¶ added in v0.7.1
func (ub UpdateBuilder) Build() bson.M
func (UpdateBuilder) CurrentDate ¶ added in v0.7.1
func (ub UpdateBuilder) CurrentDate(fields ...string) UpdateBuilder
func (UpdateBuilder) Inc ¶ added in v0.7.1
func (ub UpdateBuilder) Inc(field string, value any) UpdateBuilder
func (UpdateBuilder) Pull ¶ added in v0.7.1
func (ub UpdateBuilder) Pull(field string, condition any) UpdateBuilder
func (UpdateBuilder) Push ¶ added in v0.7.1
func (ub UpdateBuilder) Push(field string, value any) UpdateBuilder
func (UpdateBuilder) Set ¶ added in v0.7.1
func (ub UpdateBuilder) Set(field string, value any) UpdateBuilder
func (UpdateBuilder) Unset ¶ added in v0.7.1
func (ub UpdateBuilder) Unset(fields ...string) UpdateBuilder
type UpdateOptions ¶ added in v0.7.1
type WriteModel ¶ added in v0.7.1
type WriteModel interface {
GetModel() any
}
WriteModel represents a write operation for bulk writes