@aradox/multi-orm
Version:
Type-safe ORM with multi-datasource support, row-level security, and Prisma-like API for PostgreSQL, SQL Server, and HTTP APIs
36 lines • 1.54 kB
TypeScript
import { Adapter, AdapterCapabilities, FindManyAdapterArgs, FindUniqueAdapterArgs, CreateAdapterArgs, UpdateAdapterArgs, DeleteAdapterArgs, CountAdapterArgs, TransactionOptions, Transaction } from '../types/adapter';
import { Model } from '../types/ir';
export interface MongoDBPoolConfig {
connectionString: string;
database: string;
maxPoolSize?: number;
minPoolSize?: number;
maxIdleTimeMS?: number;
serverSelectionTimeoutMS?: number;
}
export declare class MongoDBAdapter implements Adapter {
private client;
private db;
private databaseName;
private modelMeta;
capabilities: AdapterCapabilities;
/**
* Set model metadata for collection name mapping
*/
setModelMetadata(models: Record<string, Model>): void;
constructor(connectionString: string | MongoDBPoolConfig);
private getCollection;
private toCollectionName;
findMany(model: string, args: FindManyAdapterArgs): Promise<any[]>;
findUnique(model: string, args: FindUniqueAdapterArgs): Promise<any | null>;
create(model: string, args: CreateAdapterArgs): Promise<any>;
update(model: string, args: UpdateAdapterArgs): Promise<any>;
delete(model: string, args: DeleteAdapterArgs): Promise<any>;
count(model: string, args: CountAdapterArgs): Promise<number>;
private buildFilter;
private buildOperatorCondition;
private transformDocument;
beginTransaction(options?: TransactionOptions): Promise<Transaction>;
close(): Promise<void>;
}
//# sourceMappingURL=mongodb.d.ts.map