MongoDB Model

MongoDB Model is a very simple yet very powerful tool for interacting with the MongoDB database and making internal or external API calls. Under the hood model is a wrapper for the Nodejs MongoDB driver. It also extracts away the complexities commonly encountered in NodeJs Mongodb driver or Mongoose.js. It is also a duplex stream, specifically the Transform stream. It uses the full power of the Nodejs MongoDB driver and of the NodeJs Transform Stream API. In other words, everything you can do with MongoDB NodeJs driver and NodeJs Transform API you can do with model!

  • Client Open Source
  • Service Node Package
  • Date December 12, 2022

Build a plugin-driven enterprise application that is extremely flexible, extendable, maintainable, testable, and infinitely scalable on all dimensions of the scale cube:

  • x-axis: Cloning.
  • y-axis: Decomposing by service/functionality Challenge
  • z-axis: Splitting by data partition

plugin-driven enterprise application, domain-driven design, Object-Oriented Programming, and Functional Programming

  1. Module-Driven Design Patterns
  2. Plugin-driven design patterns
  3. WordPress Design Patterns
  4. Functional Programming
  5. Object-Oriented Programming
  6. NodeJs Design Patterns
  7. Reactor Design Patterns
User Experience

The end users are developers so the experience is for ease of use, extensibility, flexibility, and exportability.

The main goal of building this project is to have something very simple or simpler than the native MongoDB NodeJs driver and far much simpler than MongooseJs. It is also meant to have all the power nodeJs billed for networking. MongoDB has all the powers of NodeJs Transform API, all the powers of MongoDB NodeJs native driver. An important characteristic of Mongodb is that with just 1-3 lines of code, a user can perform all the possible CRUD (Create, Read, Update, Delete) operations available in MongoDB NodeJs Native drive.

Another important aim of this project is to give the full power of the NodeJs’ even-driven nature to the user. This also indirectly gives the user to user the ability to use event and async/await for more control of the reactor pattern.