1 unstable release
0.9.2 | Oct 23, 2023 |
---|
#2808 in Database interfaces
71KB
1K
SLoC
MongODODM
NOTE: WORK IN PROGRESS!!! WE ARE STUDENTS AND RIGHT NOW THIS IS A VERBATIM FORK OF MONGODM, WHICH WE MAKE 1:1 USE OF!!
WE WILL BE MAKING MODIFICATIONS HERE SOON
A thin ODM layer for MongoDB built upon the official Rust driver.
Main features:
- A stronger API leveraging Rust type system
- Data structure models are defined using the well-known
serde
serialization framework - Index support on top of the
Database::run_command
(index management is currently not implemented in the underlying driver) - Indexes synchronization
- Additional compile-time checks for queries using macros and type associated to mongo operators (eg:
And
instead of "$and")
Examples
See documentation.
Tests
Some tests can be run with cargo test
however most of the useful tests requires a Mongo database running and exposed on localhost:27017
.
These integration tests are run with cargo test -- --ignored
.
License
Licensed under either of Apache License, Version 2.0 or MIT license at your option.Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Dependencies
~26–40MB
~739K SLoC