Crates.io | qm-mongodb |
lib.rs | qm-mongodb |
version | 0.0.60 |
created_at | 2024-03-14 11:28:42.43672+00 |
updated_at | 2025-08-11 12:11:58.804535+00 |
description | MongoDB helper functions |
homepage | |
repository | https://github.com/hd-gmbh-dev/quick-microservice-rs |
max_upload_size | |
id | 1173264 |
size | 77,736 |
qm-mongodb
utilities to work with the MongoDB database
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.
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()?;
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} |