8 个版本
0.1.7 | 2023年7月2日 |
---|---|
0.1.6 | 2023年2月2日 |
0.1.5 | 2022年5月26日 |
#1756 in 网页编程
每月 34 次下载
在 3 个 Crates 中使用 (通过 debot-db)
7KB
71 行
shared_mongodb
本 crate 是在进程内共享 MongoDB 客户端的便捷助手,例如,在异步请求处理器之间共享。
lib.rs
:
本 crate 是在进程内共享 MongoDB 客户端的便捷助手,例如,在异步请求处理器之间共享。
示例
use actix_web::{web, App, HttpServer};
use std::sync::{Arc, Mutex};
use shared_mongodb::{ClientHolder, database};
use mongodb::options::ClientOptions;
#[actix_rt::main]
async fn main() -> std::io::Result<()> {
let client_options = ClientOptions::parse("mongodb://root:password@localhost:12345").await;
let client_holder = web::Data::new(Mutex::new(ClientHolder::new(client_options.unwrap())));
HttpServer::new(move || {
let app = App::new().app_data(client_holder.clone());
return app;
});
Ok(())
}
async fn handler(data: web::Data<Mutex<ClientHolder>>) -> std::io::Result<()> {
let db = database::get(&data, "My_Company");
database::disconnect(&data);
let session = start_transaction(&data)?;
commit_transaction(&mut session);
Ok(())
}
依赖项
~28–42MB
~783K SLoC