All Projects → appsignal → mongo-rust-driver

appsignal / mongo-rust-driver

Licence: Apache-2.0, MIT licenses found Licenses found Apache-2.0 LICENSE-APACHE MIT LICENSE-MIT
Mongo Rust driver built on top of the Mongo C driver

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to mongo-rust-driver

Appkernel
API development made easy: a smart Python 3 API framework
Stars: ✭ 152 (+70.79%)
Mutual labels:  mongo
Flipper
🐬 Beautiful, performant feature flags for Ruby.
Stars: ✭ 2,732 (+2969.66%)
Mutual labels:  mongo
BroadcastBot
A simple Telegram bot that can broadcast messages and media to the bot subscribers. with mongo DB support
Stars: ✭ 73 (-17.98%)
Mutual labels:  mongo
Bigdata docker
Big Data Ecosystem Docker
Stars: ✭ 161 (+80.9%)
Mutual labels:  mongo
Chartbrew
Open-source web platform for creating charts out of different data sources (databases and APIs) 📈📊
Stars: ✭ 199 (+123.6%)
Mutual labels:  mongo
Odmantic
Async ODM (Object Document Mapper) for MongoDB based on python type hints
Stars: ✭ 240 (+169.66%)
Mutual labels:  mongo
Hashbrown Cms
A free and open-source headless CMS
Stars: ✭ 140 (+57.3%)
Mutual labels:  mongo
gitbot
The most popular Discord dev toolkit with 400k+ users 🚀✨
Stars: ✭ 59 (-33.71%)
Mutual labels:  mongo
Mern Passport
A boilerplate example of using passport.js for authenticating a MERN application
Stars: ✭ 214 (+140.45%)
Mutual labels:  mongo
nestjs-api-mongoose
Collection example apps with NestJS and Typeorm, Sequelize, Mongodb, PostgreSQL, MySQL, GraphQL, Mercurius, etc. for the NestJS community 😻
Stars: ✭ 153 (+71.91%)
Mutual labels:  mongo
Mongo Cluster Docker
Docker compose config for mongodb cluster
Stars: ✭ 165 (+85.39%)
Mutual labels:  mongo
Aspnetcore.identity.mongo
This is a MongoDB provider for the ASP.NET Core 2 Identity framework
Stars: ✭ 179 (+101.12%)
Mutual labels:  mongo
docker-mongo
MongoDB Docker image embedding RocksDB storage engine
Stars: ✭ 32 (-64.04%)
Mutual labels:  mongo
Youtubemeetupappreactnativenode
Repos of my youtube tutorial where we build a Meetup app with React-Native and Node
Stars: ✭ 153 (+71.91%)
Mutual labels:  mongo
weightless-orm
🛸 A lightweight database mapping library
Stars: ✭ 24 (-73.03%)
Mutual labels:  mongo
Nest User Auth
A starter build for a back end which implements managing users with MongoDB, Mongoose, NestJS, Passport-JWT, and GraphQL.
Stars: ✭ 145 (+62.92%)
Mutual labels:  mongo
Php Mongo
MongoDB ODM. Part of @PHPMongoKit
Stars: ✭ 228 (+156.18%)
Mutual labels:  mongo
polymorphia
A very fast POJO codec for MongoDB (used in conjunction with the Mongo Java Driver) that handles generic types as well as polymorphic class hierarchies
Stars: ✭ 21 (-76.4%)
Mutual labels:  mongo
ark.db
Small and fast JSON database for Node and browser. 😋
Stars: ✭ 65 (-26.97%)
Mutual labels:  mongo
MongoDB-University
Repo for All MongoDB University Courses
Stars: ✭ 102 (+14.61%)
Mutual labels:  mongo

Mongo Rust Driver

Crate

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.

Bson encoding and decoding is handled by the bson crate, the bindings are based on generated bindings by bindgen.

The API should still be considered experimental, but I'm not expecting changes at the moment.

Documentation

Compatibility

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.

Installation

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 and cmake:

brew install [email protected]
brew install cmake

Export these env vars the before you make a clean build:

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"

Logging

All internal logging by mongoc is redirected to the macros in the log crate. See the log docs to configure output in your application.

SSL test

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

Examples

See the tests directory for examples of how to use the driver.

License

Licensed under either of

at your option.

Contribution

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].