zumito-db
Version:
Multi-driver database abstraction layer with decorator-based models
27 lines (26 loc) • 1.08 kB
TypeScript
import { DatabaseDriver } from './DriverInterface.js';
import { QueryIR, ModelMetadata } from '../types.js';
interface MongoDriverConfig {
uri: string;
database?: string;
}
export declare class MongoDriver implements DatabaseDriver {
private client;
private db;
private compiler;
raw: any;
connect(config: MongoDriverConfig): Promise<void>;
disconnect(): Promise<void>;
find(collection: string, query: QueryIR): Promise<any[]>;
findOne(collection: string, query: QueryIR): Promise<any | null>;
insert(collection: string, data: Record<string, any>): Promise<any>;
update(collection: string, query: QueryIR, data: Record<string, any>): Promise<number>;
delete(collection: string, query: QueryIR): Promise<number>;
count(collection: string, query: QueryIR): Promise<number>;
ensureSchema(metadata: ModelMetadata): Promise<void>;
dropCollection(name: string): Promise<void>;
listCollections(): Promise<string[]>;
transaction<T>(fn: (session: any) => Promise<T>): Promise<T>;
private extractDbName;
}
export {};