@validatecl/database-manager

Database manager with Mongoose.

Usage no npm install needed!

<script type="module">
  import validateclDatabaseManager from 'https://cdn.skypack.dev/@validatecl/database-manager';
</script>

README

@validatecl/database-manager

Build Status GitHub GitHub last commit npm (scoped) npm

Database connections manager with Mongoose.

Installation

npm i @validatecl/database-manager

Usage

It's recommended to use it as a singleton instance in your project, so you can use the manager from any module.

./configs/database.ts:

import { DatabaseClientConfig } from '@validatecl/database-manager';

const config: DatabaseClientConfig = {
  uri: 'mongodb://localhost:27017/test',
  options: {
    // Mongoose connection options here...
  }
};

export default [
  {
    name: 'default',
    config
  }

  // You could add more clients if necessary...
];

./components/database.ts:

import { createDatabaseManager } from '@validatecl/database-manager';

import config from '../configs/database';

const manager = createDatabaseManager();

for (let client of config) {
  manager.add(client);
}

export default manager;

./some/other/module.ts:

import db from '../../components/database';

// Ensure the 'default' client is connected...
db.connect('default');

// ...

const User = db.connection('default').model('User');
const user = await User.create({
  //...
});

// ...

Documentation

Please visit the documentation page for more info and options.