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

Download history 188/week @ 2026-04-16 219/week @ 2026-04-23 31/week @ 2026-04-30 63/week @ 2026-05-07 48/week @ 2026-05-14 40/week @ 2026-05-21 106/week @ 2026-05-28 36/week @ 2026-06-04 104/week @ 2026-06-11 56/week @ 2026-06-18 164/week @ 2026-06-25 94/week @ 2026-07-02 47/week @ 2026-07-09 108/week @ 2026-07-16 50/week @ 2026-07-23 73/week @ 2026-07-30

304 downloads per month
Used in 3 crates

MIT license

24KB
394 lines

Quick Microservices MongoDB - qm-mongodb

utilities to work with the MongoDB database


GitHub repositoryCargo packageDocs

github.com - quick-microservice-rs crates.io - qm-mongodb
github.com - workflow - build


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