我正在运行一个Rocket服务器,并使用rocket_db_pools
进行postgres连接。我想在API调用的上下文中在同一数据库中执行多个查询-就像这样。
#[get("/fetch_data_by_ids?<data_ids>")]
async fn fetch_data_by_ids(data_ids: Vec<&str>, mut db: Connection<DatabaseConnection>) -> Json<Vec<ProcessedDocument>> {
let connection_one = db.clone();
let connection_two = db.clone();
let data_obj_one = do_a_database_process_one(connection_one).await;
let data_obj_two = do_a_database_process_two(connection_two).await;
}
字符串
是否可以在一个路由处理程序中请求多个连接?
1条答案
按热度按时间piztneat1#
可以通过以下方式获得到同一DB的多个连接:
1.创建多个单元结构,其中多个单元结构指向同一DB
1.在Rocket.toml中创建多个与步骤1相对应的连接字符串条目
1.将这些多个连接作为args传递给Rocket注解的方法,并在Rocket launch时attach()多个连接。
这是一个很好的解决方案,但我目前唯一的解决方案。