userver: components::Mongo Class Reference
No Matches
components::Mongo Class Reference

MongoDB client component. More...

#include <userver/storages/mongo/component.hpp>

+ Inheritance diagram for components::Mongo:
+ Collaboration diagram for components::Mongo:

Public Member Functions

 Mongo (const ComponentConfig &, const ComponentContext &)
 Component constructor.
 ~Mongo () override
 Component destructor.
storages::mongo::PoolPtr GetPool () const
 Client pool accessor.
- Public Member Functions inherited from components::LoggableComponentBase
 LoggableComponentBase (const ComponentConfig &, const ComponentContext &)
 LoggableComponentBase (LoggableComponentBase &&)=delete
 LoggableComponentBase (const LoggableComponentBase &)=delete
 ~LoggableComponentBase () override=default
ComponentHealth GetComponentHealth () const override
void OnLoadingCancelled () override
void OnAllComponentsLoaded () override
void OnAllComponentsAreStopping () override

Static Public Member Functions

static yaml_config::Schema GetStaticConfigSchema ()
- Static Public Member Functions inherited from components::LoggableComponentBase
static yaml_config::Schema GetStaticConfigSchema ()

Detailed Description

MongoDB client component.

Provides access to a MongoDB database.

Dynamic options:

Static configuration example:

dbalias: taxi
appname: userver-sample
conn_timeout: 2s
so_timeout: 10s
queue_timeout: 1s
initial_size: 16
max_size: 128
idle_limit: 64
connecting_limit: 8
local_threshold: 15ms
maintenance_period: 15s
stats_verbosity: terse

You must specify one of dbalias or dbconnection.

Static options:

Name Description Default value
dbalias name of the database in secdist config (if available)
dbconnection connection string (used if no dbalias specified)
appname application name for the DB server userver
conn_timeout connection timeout 2s
so_timeout socket timeout 10s
queue_timeout max connection queue wait time 1s
initial_size number of connections created initially 16
max_size limit for total connections number 128
idle_limit limit for idle connections number 64
connecting_limit limit for establishing connections number 8
local_threshold latency window for instance selection mongodb default
max_replication_lag replication lag limit for usable secondaries, min. 90s -
maintenance_period pool maintenance period (idle connections pruning etc.) 15s
stats_verbosity changes the granularity of reported metrics 'terse'
dns_resolver server hostname resolver type (getaddrinfo or async) 'async'

stats_verbosity accepts one of the following values:

Value Description
terse Default value, report only cumulative stats and read/write totals
full Separate metrics for each operation, divided by read preference or write concern

Definition at line 73 of file component.hpp.

The documentation for this class was generated from the following file: