Options
All
  • Public
  • Public/Protected
  • All
Menu

@fiquu/database-manager-mongoose

Build Status GitHub GitHub last commit npm (scoped) npm

Database connections manager with Mongoose.

Installation

npm i @fiquu/database-manager-mongoose

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 '@fiquu/database-manager-mongoose';

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 '@fiquu/database-manager-mongoose';

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.

Index

Type aliases

DatabaseClientsMap

DatabaseClientsMap: Map<string, DatabaseClient>

Variables

Const _defaults

_defaults: DatabaseClientConfig = Object.freeze<DatabaseClientConfig>({uri: null,options: {useUnifiedTopology: true,useNewUrlParser: true,useCreateIndex: true}})

Const log

log: Logger = createLogger('@fiquu/database-manager-mongoose')

Functions

connect

  • connect(name: any, __namedParameters: { connection: Connection; options: ConnectionOptions; uri: string }): Promise<Connection>
  • Creates a client's database connection or reuses it.

    Parameters

    • name: any

      The client name.

    • __namedParameters: { connection: Connection; options: ConnectionOptions; uri: string }
      • connection: Connection
      • options: ConnectionOptions
      • uri: string

    Returns Promise<Connection>

    The current or created connection.

connection

  • Returns the connection for the client.

    Parameters

    Returns Connection

    The client connection.

createClient

  • Creates or updates a named database client.

    Parameters

    • config: DatabaseClientConfig

      The configuration object.

    • connection: Connection

      The current database client connection.

    Returns DatabaseClient

    The created or updated database connection object.

createDatabaseManager

disconnect

  • disconnect(connection: Connection, name: string, force?: boolean): Promise<void>
  • Closes a database connection by name.

    Parameters

    • connection: Connection

      The connection to disconnect.

    • name: string

      The client name (for debugging).

    • Default value force: boolean = false

      Whether to force disconnection.

    Returns Promise<void>

    The updated database client.

getConnectionByName

  • Retrieves a connection by client name.

    Parameters

    Returns Connection

    The mongoose connection object.

updateClientConnection

  • updateClientConnection(clients: DatabaseClientsMap, name: string, connection: Connection): void
  • Updates a database client connection.

    Parameters

    • clients: DatabaseClientsMap

      The database clients map.

    • name: string

      The database client name.

    • connection: Connection

      The connection to set.

    Returns void

Legend

  • Property
  • Method

Generated using TypeDoc