mongodb

package
v1.11.0-rc.1 Latest Latest
Warning

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

Go to latest
Published: May 5, 2023 License: Apache-2.0 Imports: 21 Imported by: 4

Documentation

Overview

Package mongodb is an implementation of StateStore interface to perform operations on store

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewMongoDB

func NewMongoDB(logger logger.Logger) state.Store

NewMongoDB returns a new MongoDB state store.

Types

type Item

type Item struct {
	Key   string      `bson:"_id"`
	Value interface{} `bson:"value"`
	Etag  string      `bson:"_etag"`
}

Item is Mongodb document wrapper.

type MongoDB

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

MongoDB is a state store implementation for MongoDB.

func (*MongoDB) BulkDelete

func (m *MongoDB) BulkDelete(ctx context.Context, req []state.DeleteRequest) error

BulkDelete performs a bulk delete operation. We need to implement a custom BulkSet/BulkDelete because with MongoDB transactions are not always available (only when connecting to a replica set), and when they're not, we need to fall back to performing operations in sequence.

func (*MongoDB) BulkGet added in v1.11.0

func (*MongoDB) BulkSet

func (m *MongoDB) BulkSet(ctx context.Context, req []state.SetRequest) error

BulkSet performs a bulk save operation. We need to implement a custom BulkSet/BulkDelete because with MongoDB transactions are not always available (only when connecting to a replica set), and when they're not, we need to fall back to performing operations in sequence.

func (*MongoDB) Delete

func (m *MongoDB) Delete(ctx context.Context, req *state.DeleteRequest) error

Delete performs a delete operation.

func (*MongoDB) Features added in v1.1.1

func (m *MongoDB) Features() []state.Feature

Features returns the features available in this state store.

func (*MongoDB) Get

func (m *MongoDB) Get(ctx context.Context, req *state.GetRequest) (*state.GetResponse, error)

Get retrieves state from MongoDB with a key.

func (*MongoDB) GetComponentMetadata added in v1.10.1

func (m *MongoDB) GetComponentMetadata() map[string]string

func (*MongoDB) Init

func (m *MongoDB) Init(ctx context.Context, metadata state.Metadata) (err error)

Init establishes connection to the store based on the metadata.

func (*MongoDB) Multi

func (m *MongoDB) Multi(ctx context.Context, request *state.TransactionalStateRequest) error

Multi performs a transactional operation. succeeds only if all operations succeed, and fails if one or more operations fail.

func (*MongoDB) Ping added in v1.4.4

func (m *MongoDB) Ping(ctx context.Context) error

func (*MongoDB) Query added in v1.5.0

Query executes a query against store.

func (*MongoDB) Set

func (m *MongoDB) Set(ctx context.Context, req *state.SetRequest) error

Set saves state into MongoDB.

type Query added in v1.5.0

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

func (*Query) Finalize added in v1.5.0

func (q *Query) Finalize(filters string, qq *query.Query) error

func (*Query) VisitAND added in v1.5.0

func (q *Query) VisitAND(f *query.AND) (string, error)

func (*Query) VisitEQ added in v1.5.0

func (q *Query) VisitEQ(f *query.EQ) (string, error)

func (*Query) VisitIN added in v1.5.0

func (q *Query) VisitIN(f *query.IN) (string, error)

func (*Query) VisitOR added in v1.5.0

func (q *Query) VisitOR(f *query.OR) (string, error)

Jump to

Keyboard shortcuts

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