Mongo helper methods for working with data in a DAO or repository pattern
npm install @ifit/mongoose-dao

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
* There is a createdAt and updatedAt field
* That _id is auto converted to id when toObject() is called
* That __v is removed when toObject() is called
To do that, there is a helper method that sets those up. Simply call initMongoCleanAndTimestamp() in the models of the app.
connectToMongo() in your app at init time.config.globalSetupconfig.globalTeardownconfig.setupFilesAfterEnvSee the sample folder. The file/folder structure and files should be all that you need to get started.
See CONTRIBUTING.md
* 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 out dir
* watch - Builds and watches for changes, on changes builds
* lint - Runs TypeScript linting
* test - Runs all the test marked with .test.ts
* test-cov - Runs code coverage, generates an HTML report, and opens it in the browser
* prepare - Installs local peer dependencies