MongoSteel
MongoSteel is a solid MongoDB object modeling tool, designed to work in a typescript asynchronous environment. MongoSteel does not support callbacks. MongoSteel now supports ESM imports!
Why was this made?
Honestly, I just got frustrated with mongoose due to this issue (though as of now it appears to be a lot better), along with how it mixed everything together. Other options such as mongolass had cool plugin APIs and nice systems, but they didn't work with me very well due to their absence of typescript support.
So, I decided to throw my own hat into the ring, and made this. As of now, it doesn't have much plugin support, but it has a nice strict way of doing things, and is a very small module, with no dependencies, besides the mongoDB driver.
Documentation
For official Documentation go to here
Support
You can get support on github's discussions
Limitations
- A schema cannot have a property named 'type' and 'required' (both at once, ie. {type: "string"} is ok, but {type: "string", required: "boolean"} isn't) as those are currently used to identify schema options
- No plugins (though there are methods, which aren't fully tested and be slightly broken)
- Not all methods are implemented (due to some being superior, case and point:
findOneAndDelete
> deleteOne
), and lack of a need)
Contributions
Pull requests are always welcome :)
If you want to add documentation,
Current contributors
Acknowledgments
Some of the code & explanations present in this repository has been moddeled after mongoose