UNPKG

adonis-odm

Version:

A comprehensive MongoDB ODM for AdonisJS with Lucid-style API, type-safe relationships, embedded documents, and transaction support

61 lines 1.86 kB
import { MongoClient, Db, Collection, Document, TransactionOptions as MongoTransactionOptions } from 'mongodb'; import { OdmConfig, MongoConnectionConfig, DatabaseManager } from './types/index.js'; import { MongoTransactionClient } from './transaction_client.js'; /** * MongoDB Database Manager */ export declare class MongoDatabaseManager implements DatabaseManager { private clients; private databases; private config; constructor(config: OdmConfig); /** * Get a MongoDB client connection */ connection(name?: string): MongoClient; /** * Get a database instance */ db(name?: string): Db; /** * Get a collection instance */ collection<T extends Document = Document>(name: string, connectionName?: string): Collection<T>; /** * Connect to all configured MongoDB instances */ connect(): Promise<void>; /** * Close all connections */ close(): Promise<void>; /** * Create a MongoDB client connection */ private createConnection; /** * Extract database name from connection configuration */ private extractDatabaseName; /** * Get connection configuration */ getConnectionConfig(name?: string): MongoConnectionConfig; /** * Check if a connection exists */ hasConnection(name: string): boolean; /** * Get all connection names */ getConnectionNames(): string[]; /** * Start a transaction - Manual transaction */ transaction(options?: MongoTransactionOptions): Promise<MongoTransactionClient>; /** * Start a transaction - Managed transaction */ transaction<TResult = any>(callback: (trx: MongoTransactionClient) => Promise<TResult>, options?: MongoTransactionOptions): Promise<TResult>; } //# sourceMappingURL=database_manager.d.ts.map