#include <userver/storages/mongo/component.hpp>
MongoDB client component.
Provides access to a MongoDB database.
You must specify one of dbalias
or dbconnection
.
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 |
It is a common practice to provide a database connection string via environment variables. To retrieve a value from the environment use dbconnection#env: THE_ENV_VARIABLE_WITH_CONNECTION_STRING
as described in yaml_config::YamlConfig.
If a dbalias
option is provided, for example dbalias: some_name_of_your_database
, then the Secdist entry for that alias should look like following:
Definition at line 95 of file component.hpp.
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 () |