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
TypeScript
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