Documentation
¶
Overview ¶
Package mongodb provides a storage adapter backed by a MongoDB database.
It implements storage.Adapter and storage.ConversationStore. Collections and indexes are created implicitly on first use.
Basic usage:
store, err := mongodb.Open(ctx, mongodb.Config{
URI: "mongodb://localhost:27017",
Database: "mtgo",
})
if err != nil {
log.Fatal(err)
}
defer store.Close()
Index ¶
- func New(cfg Config) storage.Storage
- type Config
- type MongoDB
- func (m *MongoDB) Close() error
- func (m *MongoDB) DeleteConversation(chatID, userID int64) error
- func (m *MongoDB) DeleteDurableUpdate(sessionID string, id string) error
- func (m *MongoDB) DeletePeer(id int64) error
- func (m *MongoDB) EnqueueDurableUpdate(u *storage.DurableUpdate) error
- func (m *MongoDB) GetPeer(id int64) (*storage.Peer, error)
- func (m *MongoDB) GetPeerByUsername(username string) (*storage.Peer, error)
- func (m *MongoDB) LoadAllChannelUpdateStates(sessionID string) ([]*storage.ChannelUpdateState, error)
- func (m *MongoDB) LoadChannelUpdateState(sessionID string, channelID int64) (*storage.ChannelUpdateState, error)
- func (m *MongoDB) LoadConversation(chatID, userID int64) (*storage.Conversation, error)
- func (m *MongoDB) LoadDurableUpdates(sessionID string, limit int) ([]*storage.DurableUpdate, error)
- func (m *MongoDB) LoadPeers() ([]*storage.Peer, error)
- func (m *MongoDB) LoadSession() (*storage.Session, error)
- func (m *MongoDB) LoadUpdateState(sessionID string) (*storage.UpdateState, error)
- func (m *MongoDB) MarkDurableUpdateFailed(sessionID string, id string, attempts int, lastErr string) error
- func (m *MongoDB) SaveChannelUpdateState(s *storage.ChannelUpdateState) error
- func (m *MongoDB) SaveConversation(c *storage.Conversation) error
- func (m *MongoDB) SavePeer(p *storage.Peer) error
- func (m *MongoDB) SaveSession(s *storage.Session) error
- func (m *MongoDB) SaveUpdateDedupKey(sessionID string, key string) (bool, error)
- func (m *MongoDB) SaveUpdateState(s *storage.UpdateState) error
- func (m *MongoDB) UpdateDedupKeyExists(sessionID string, key string) (bool, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type MongoDB ¶
type MongoDB struct {
// contains filtered or unexported fields
}
MongoDB is a storage adapter backed by a MongoDB database.
func Open ¶
Open connects to a MongoDB cluster and verifies connectivity. Collections are created implicitly on first use.
func (*MongoDB) DeleteConversation ¶
func (*MongoDB) DeleteDurableUpdate ¶
func (*MongoDB) DeletePeer ¶
func (*MongoDB) EnqueueDurableUpdate ¶
func (m *MongoDB) EnqueueDurableUpdate(u *storage.DurableUpdate) error
func (*MongoDB) GetPeerByUsername ¶
func (*MongoDB) LoadAllChannelUpdateStates ¶
func (m *MongoDB) LoadAllChannelUpdateStates(sessionID string) ([]*storage.ChannelUpdateState, error)
func (*MongoDB) LoadChannelUpdateState ¶
func (*MongoDB) LoadConversation ¶
func (m *MongoDB) LoadConversation(chatID, userID int64) (*storage.Conversation, error)
func (*MongoDB) LoadDurableUpdates ¶
func (*MongoDB) LoadUpdateState ¶
func (m *MongoDB) LoadUpdateState(sessionID string) (*storage.UpdateState, error)
func (*MongoDB) MarkDurableUpdateFailed ¶
func (*MongoDB) SaveChannelUpdateState ¶
func (m *MongoDB) SaveChannelUpdateState(s *storage.ChannelUpdateState) error
func (*MongoDB) SaveConversation ¶
func (m *MongoDB) SaveConversation(c *storage.Conversation) error
func (*MongoDB) SaveUpdateDedupKey ¶
func (*MongoDB) SaveUpdateState ¶
func (m *MongoDB) SaveUpdateState(s *storage.UpdateState) error
Click to show internal directories.
Click to hide internal directories.