73 releases
| 0.0.80 | Jul 7, 2026 |
|---|---|
| 0.0.78 | May 21, 2026 |
| 0.0.73 | Mar 13, 2026 |
| 0.0.67 | Nov 27, 2025 |
| 0.0.13 | Mar 28, 2024 |
#77 in #microservices
304 downloads per month
Used in 3 crates
24KB
394 lines
Quick Microservices MongoDB - qm-mongodb
utilities to work with the MongoDB database
Description
With this crate it is easy to get a MongoDB configuration with the most common settings. It also provides common helpers for collections and indexes and provide a convenient way to share clients for database access.
Usage
let mongodb = qm::mongodb::DB::new("example", &qm::mongodb::DbConfig::new()?).await?;
The Config is populated with environment variables. By default, all variables with the prefix
MONGODB_ are considered.
The prefix can be changed by using a builder pattern.
let example_config = qm::mongodb::DbConfig::builder().with_prefix("EXAMPLE_").build()?;
Variables and Defaults
These variables are available and are set with the following defaults.
| variable | struct field | default |
|---|---|---|
| MONGODB_HOST | host | "127.0.0.1" |
| MONGODB_PORT | port | 27017 |
| MONGODB_USERNAME | username | |
| MONGODB_PASSWORD | password | |
| MONGODB_DATABASE | database | "test" |
| MONGODB_ROOT_USERNAME | root_username | |
| MONGODB_ROOT_PASSWORD | root_password | |
| MONGODB_ROOT_DATABASE | root_database | "admin" |
| MONGODB_SHARDED | sharded | false |
| address | With credentials: mongodb://{username}:{password}@{host}:{port}/{database};Without: mongodb://{host}:{port}/{database} |
|
| root_address | With credentials: mongodb://{root_username}:{root_password}@{host}:{port}/{root_database};Without: mongodb://{host}:{port}/{root_database} |
Dependencies
~28–44MB
~693K SLoC