This project was created to compare different MongoDB clients and mappers. However, at the moment is serves as a project to manage GutenBerg books. It's also a test project in which I'm trying out different things, like functional programming with Guava, MongoDB storage, DropWizard and AngularJS support, etc.
Spring Data - MongoDB
- Spring Data powered ORM.Morphia
- A mature but sleeping ORM. I've used a fork.MongoClient
- The Java driver for MongoDBMongoJack
- A MongoDB wrapper/mapper based on Jackson.
The ORM mappers / clients are organized in packages, and share some common structures.
Running gradle test
should run all the test with default settings against your local database, and it should not fail. It works on my machine! ;)
There's a fix amount of tests, which run over all implementations. The test are different in implementation, but not in intent. The goal of this project was to find out which framework was easier to work with, and to experience if all requirements were possible using each framework (they are!).
So, some operations which are tested:
- CRUD, including one to many relations
- Complex queryes
- Binary data (no GridFS)
And more!!
Because I asked a question on Stackoverflow, but it was closed due to being to subjective. So I had to find out myself. Feel free to fork / clone / copy and use however you'd like.
Great! Let me know how I can improve things, so I can update the code and others will benefit too! Open an issue or submit a pull request! I'd love to learn from you!!
I'd be happy to help. Contact me on Twitter, @epragt