userver: components::Mongo Class Reference
Loading...
Searching...
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:

mongo-taxi:
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
Examples
samples/mongo_service/mongo_service.cpp.

Definition at line 73 of file component.hpp.


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