Mongo Rust Driver
Mongo Rust driver built on top of the Mongo C driver. This driver is a thin wrapper around the production-ready C driver that provides a safe and ergonomic Rust interface which handles all the gnarly usage details of the C driver for you.
The API should still be considered experimental, but I'm not expecting changes at the moment.
The driver currently only builds on Unix, tested on Mac Os X and Linux so far. It's compatible with MongoDB 2.6 up to 3.4 and has full replica set and SSL support.
If you have any trouble installing the crate (linking openssl can be tricky) please check out the installation instructions for the C driver.
To build on Mac install OpenSSL 1.1:
brew install firstname.lastname@example.org
Export these env vars the before you make a clean build:
export LDFLAGS="-Lemail@example.com/lib" export CPPFLAGS="-Ifirstname.lastname@example.org/include"
All internal logging by mongoc is redirected to the macros in the log
crate. See the
to configure output in your application.
There is a test included to connect to a replica set over SSL. To skip this test:
SKIP_SSL_CONNECTION_TESTS=true cargo test
To run this tests fill these environment variables with something appropiate to connect to a replica set:
MONGO_RUST_DRIVER_SSL_URI MONGO_RUST_DRIVER_SSL_PEM_FILE MONGO_RUST_DRIVER_SSL_CA_FILE
See the tests directory for examples of how to use the driver.
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contributions are very welcome, only the functionality we use has been wrapped so far. Please write a test for any behavior you add.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.