qm-mongodb

Crates.ioqm-mongodb
lib.rsqm-mongodb
version0.0.60
created_at2024-03-14 11:28:42.43672+00
updated_at2025-08-11 12:11:58.804535+00
descriptionMongoDB helper functions
homepage
repositoryhttps://github.com/hd-gmbh-dev/quick-microservice-rs
max_upload_size
id1173264
size77,736
(hd-gmbh-bot)

documentation

README

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}
Commit count: 224

cargo fmt