Documentation ¶
Overview ¶
plugin package contains interfaces for storage plugins.
Index ¶
Constants ¶
const ( // PluginInterface for storage. This first part of the // three-part plugin key is only seen/used by the plugins when the host is // communicating with the plugin and is not exposed to users. PluginInterface = "storage" // PluginProtocolVersion is the currently supported plugin protocol version for storage. PluginProtocolVersion = 3 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AggregateOptions ¶
type AggregateOptions struct { // Collection to query. Collection string // Pipeline document to aggregate, filter, and shape the results. // See https://docs.mongodb.com/manual/reference/operator/aggregation-pipeline/ Pipeline []bson.D }
AggregateOptions is the set of options available to the StorageProtocol.Aggregate operation.
type CountOptions ¶
type CountOptions struct { // Collection to query. Collection string // Query is a query filter document // See https://docs.mongodb.com/manual/core/document/#std-label-document-query-filter Filter bson.M }
CountOptions is the set of options available to the StorageProtocol.Count operation.
type EnsureIndexOptions ¶
type EnsureIndexOptions struct { // Indices to create if not found. Indices []Index }
EnsureIndexOptions is the set of options available to the StorageProtocol.EnsureIndex operation.
type FindOptions ¶
type FindOptions struct { // Collection to query. Collection string // Sort is a list of field names by which the results should be sorted. Sort bson.D // Skip is the number of results to skip past and exclude from the results. Skip int64 // Limit is the number of results to return. Limit int64 // Select is a projection document // See https://docs.mongodb.com/manual/tutorial/project-fields-from-query-results/ Select bson.D // Filter specifies how to filter the results. // See https://docs.mongodb.com/manual/core/document/#std-label-document-query-filter Filter bson.M // Group specifies how to group the results. // See https://docs.mongodb.com/manual/reference/operator/aggregation/group/ Group bson.D }
FindOptions is the set of options available to the StorageProtocol.Find operation.
type Index ¶
type Index struct { // Collection name to which the index applies. Collection string // Keys describes the fields and their sort order. // Example: {"namespace": 1, "name": 1} Keys bson.D // Unique specifies if the index should enforce that the indexed fields for each document are unique. Unique bool }
Index on a collection.
type InsertOptions ¶
type InsertOptions struct { // Collection to query. Collection string // Documents is a set of documents to insert. Documents []bson.M }
InsertOptions is the set of options for the StorageProtocol.Insert operation.
type PatchOptions ¶
type PatchOptions struct { // Collection to query. Collection string // Query is a query filter document // See https://docs.mongodb.com/manual/core/document/#std-label-document-query-filter QueryDocument bson.M // Transformation is set of instructions to modify matching // documents. Transformation bson.D }
PatchOptions is the set of options for the StorageProtocol.Patch operation.
type RemoveOptions ¶
type RemoveOptions struct { // Collection to query. Collection string // Filter is a query filter document // See https://docs.mongodb.com/manual/core/document/#std-label-document-query-filter Filter bson.M // All matching documents should be removed. Defaults to false, which only // removes the first matching document. All bool }
RemoveOptions is the set of options for the StorageProtocol.Remove operation.
type StorageProtocol ¶
type StorageProtocol interface { // EnsureIndex makes sure that the specified index exists as specified. // If it does exist with a different definition, the index is recreated. EnsureIndex(ctx context.Context, opts EnsureIndexOptions) error // Aggregate executes a pipeline and returns the results. Aggregate(ctx context.Context, opts AggregateOptions) ([]bson.Raw, error) // Count the number of results that match an optional query. // When the query is omitted, the entire collection is counted. Count(ctx context.Context, opts CountOptions) (int64, error) // Find queries a collection, optionally projecting a subset of fields, and // then returns the results as a list of bson documents. Find(ctx context.Context, opts FindOptions) ([]bson.Raw, error) // Insert a set of documents into a collection. Insert(ctx context.Context, opts InsertOptions) error // Patch applies a transformation to matching documents. Patch(ctx context.Context, opts PatchOptions) error // Remove matching documents from a collection. Remove(ctx context.Context, opts RemoveOptions) error // Update matching documents with the specified replacement document. Update(ctx context.Context, opts UpdateOptions) error }
StorageProtocol is the interface that storage plugins must implement. This defines the protocol used to communicate with storage plugins.
type UpdateOptions ¶
type UpdateOptions struct { // Collection to query. Collection string // Filter is a query filter document // See https://docs.mongodb.com/manual/core/document/#std-label-document-query-filter Filter bson.M // Upsert indicates that the document should be inserted if not found Upsert bool // Document is the replacement document. Document bson.M }
UpdateOptions is the set of options for the StorageProtocol.Update operation.
Directories ¶
Path | Synopsis |
---|---|
Package mongodb_docker implements the plugins.StorageProtocol interface, storing data using an instance of mongodb running in a container, with the data stored in a docker volume.
|
Package mongodb_docker implements the plugins.StorageProtocol interface, storing data using an instance of mongodb running in a container, with the data stored in a docker volume. |
Package proto is the protobuf definition for the StorageProtocol
|
Package proto is the protobuf definition for the StorageProtocol |