#bb8 #pool #arangors #arangodb #documentation

bb8-arangodb

基于 arangors crate 的 bb8 ArangoDB 驱动

2 个不稳定版本

0.2.0 2022 年 10 月 12 日
0.1.0 2022 年 10 月 12 日

#1986数据库接口

Download history 18/week @ 2024-03-13 5/week @ 2024-03-20 20/week @ 2024-03-27 19/week @ 2024-04-03 3/week @ 2024-05-08 12/week @ 2024-05-15 1/week @ 2024-05-22 2/week @ 2024-05-29 44/week @ 2024-06-05 129/week @ 2024-06-12 40/week @ 2024-06-19 23/week @ 2024-06-26

每月 237 次下载

MIT/Apache

12KB
54 代码行

bb8-arangodb

基于 bb8arangors 的 crate 的 ArangoDB 支持。该库支持 arangors 所支持的所有身份验证方法,由 AuthenticationMethod 定义。

安装

确保将 bb8bb8-arangodb 添加到您的 Cargo.toml 中,例如

[dependencies]
bb8 = "0.8"
bb8-arangodb = "0.1"
arangors = "0.5"

示例

use bb8::Pool;
use bb8_arangodb::{ArangoConnectionManager, AuthenticationMethod};
use arangors::uclient::reqwest::ReqwestClient;
use futures_util::join_all;

#[tokio::main]
async fn main() {
    let manager = ArangoConnectionManager::<ReqwestClient>::new(
        "https://127.0.0.1:8529".to_string(),
        AuthenticationMethod::JWTAuth("root".to_string(), "openSesame".to_string())
    );

    let pool = Pool::builder().max_size(5).build(manager).await.unwrap();

    for _i in 0..10 {
        let pool = pool.clone();

        handles.push(tokio::spawn(async move {
            let conn = pool.get().await.unwrap();
            let db = conn.db("test").await.unwrap();

            let result: Vec<String> = db
                .aql_str("FOR doc IN collection RETURN doc.name")
                .await
                .unwrap();

            println!("{:?}", results);
        }))
    }

    join_all(handles).await;
}

运行测试

要运行测试,您需要本地运行 ArangoDB。要使用 docker 运行测试,在克隆仓库后执行以下命令

# Starting ArangoDB in a detached docker container
docker run -d -p 8529:8529 -e ARANGO_ROOT_PASSWORD=openSesame --name arangodb arangodb/arangodb:3.10.0

# Wait some seconds to let ArangoDB start and run tests
cargo test

# Stop and remove the ArangoDB container
docker stop arangodb && docker rm arangodb

版本

详细的版本说明可在本仓库的 CHANGELOG.md 中找到。

报告问题

发现了错误?我们很乐意了解它!

请通过 GitHub 问题跟踪器 报告所有问题。

贡献

请参阅 bb8-arangodb 贡献指南 了解如何向 bb8-arangodb 贡献。

许可证

bb8-arangodb 主要在 MIT 许可证和 Apache 许可证(版本 2.0)的条款下分发。

有关详细信息,请参阅 LICENSE-MITLICENSE-APACHE

依赖项

~6–13MB
~173K SLoC