#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.
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 () |