#mongo-db #database-driver #api-bindings #codec

mongo_driver

基于Mongo C driver构建的Mongo Rust驱动程序

29个版本

0.14.2 2023年9月5日
0.14.1 2023年7月7日
0.14.0 2022年7月2日
0.13.6 2021年5月10日
0.1.0 2015年12月19日

#1354数据库接口

每月47次下载
用于 2 个包

MIT/Apache

120KB
2.5K SLoC

Mongo Rust Driver

Mongo Rust Driver基于Mongo C driver构建。该驱动程序是针对生产就绪的C driver的薄包装,提供了一个安全且易于使用的Rust接口,可以为您处理C driver的所有复杂使用细节。

Bson编码和解码由处理,绑定基于由生成的绑定。

API仍然应被视为实验性的,但目前没有预期会有变化。

文档

兼容性

该驱动程序目前只能在Unix上构建,已测试在Mac Os X和Linux上。它与MongoDB 2.6至3.4兼容,并具有完整的副本集和SSL支持。

安装

如果您在安装包时遇到任何问题(链接openssl可能很棘手),请查看C driver的安装说明

在Mac上构建前请安装OpenSSL 1.1和cmake

brew install [email protected]
brew install cmake

在构建前导出这些环境变量

export LDFLAGS="-L/usr/local/opt/[email protected]/lib"
export CPPFLAGS="-I/usr/local/opt/[email protected]/include"
export PKG_CONFIG_PATH="/usr/local/opt/[email protected]/lib/pkgconfig"

日志记录

所有内部日志记录均由mongoc重定向到log crate中的宏。有关在您的应用程序中配置输出的信息,请参阅log文档。

SSL测试

包含一个用于通过SSL连接到副本集的测试。要跳过此测试

SKIP_SSL_CONNECTION_TESTS=true cargo test

要运行此测试,请将这些环境变量填充为适当的值以连接到副本集

MONGO_RUST_DRIVER_SSL_URI
MONGO_RUST_DRIVER_SSL_PEM_FILE
MONGO_RUST_DRIVER_SSL_CA_FILE

示例

有关如何使用驱动程序的示例,请参阅测试目录。

许可证

根据以下任一许可证授权:

任选其一。

贡献

欢迎贡献,但我们至今仅封装了使用的功能。请在添加任何行为时编写测试。

除非您明确声明,否则任何有意提交以包含在作品中的贡献,如Apache-2.0许可证中定义的,将根据上述条款进行双授权,不附加任何额外条款或条件。

依赖项

~5–7MB
~126K SLoC