Skip to content

resolveDatabase

function resolveDatabase(config, injectorFn?): Promise<Db>;

Defined in: tsed/src/utils/resolve-database.ts:53

Resolve the MongoDB database instance from the configuration.

Supports three resolution strategies:

  1. Direct db: Returns the provided Db instance directly
  2. Factory dbFactory: Calls the factory function (supports async)
  3. DI Token dbToken: Resolves the Db from the DI container
ParameterTypeDescription
configMonqueTsedConfigThe Monque configuration containing database settings
injectorFn?InjectorFnOptional function to resolve DI tokens (required for dbToken strategy)

Promise<Db>

The resolved MongoDB Db instance

Error if no database strategy is provided or if DI resolution fails

// Direct Db instance
const db = await resolveDatabase({ db: mongoDb });

// Factory function
const db = await resolveDatabase({
  dbFactory: async () => {
    const client = await MongoClient.connect(uri);
    return client.db("myapp");
  }
});

// DI token
const db = await resolveDatabase(
  { dbToken: "MONGODB_DATABASE" },
  (token) => injector.get(token)
);