Mongo helper methods for working with data in a DAO or repository pattern. As well as some required misc helper methods for interacting with mongo.
The primary purpose of this is to abstract the interaction with the Database. This has the following benefits:
- Easier to mock and DI throughout the app
- Doesn't depend so heavily throughout the app on setting up Mockgoose
- Wraps all response objects in a proper class
- Avoids the messy nature of Mongoose statics/methods
The pattern requires the following on Mongo objects:
- There is a
_idis auto converted to
__vis removed when
To do that, there is a helper method that sets those up. Simply call
initMongoCleanAndTimestamp() in the models of the app.
See the sample folder. The file/folder structure and files should be all that you need to get started.
Installing dependencies for the project locally
yarn install- Installs all the dependencies
yarn prepare- Installs in the peer dependencies for local development
clean- Cleans the project build directories
build- Cleans and compiles the code to the
watch- Builds and watches for changes, on changes builds
lint- Runs TypeScript linting
test- Runs all the test marked with
coverage- Runs code coverage, generates an HTML report, and opens it in the browser
prepare- Installs local peer dependencies