UNPKG

@point-hub/papi

Version:

Point API Framework

41 lines 2.53 kB
import type { ClientSession, Collection, CollectionOptions, CreateIndexesOptions, Db, DbOptions, IndexSpecification } from 'mongodb'; import { MongoClient } from 'mongodb'; import { IAggregateOutput, ICreateManyOutput, ICreateOutput, IDatabase, IDeleteManyOutput, IDeleteOutput, IDocument, IPipeline, IQuery, IRetrieveAllOutput, IRetrieveManyOutput, IUpdateManyOutput, IUpdateOutput } from '../../index'; export declare class MongoDBConnection implements IDatabase { databaseName: string; client: MongoClient; _database: Db | undefined; _collection: Collection | undefined; session: ClientSession | undefined; constructor(connectionString: string, databaseName: string); open(): Promise<void>; close(): Promise<void>; database(name: string, options?: DbOptions): this; collection(name: string, options?: CollectionOptions): this; listCollections(): Promise<{ name: string; }[]>; createIndex(name: string, spec: IndexSpecification, options: CreateIndexesOptions): Promise<void>; updateSchema(name: string, schema: unknown): Promise<void>; createCollection(name: string, options: any): Promise<void>; dropCollection(name: string, options: any): Promise<void>; dropDatabase(options: any): Promise<void>; startSession(): ClientSession; endSession(): Promise<void>; startTransaction(): void; commitTransaction(): Promise<void>; abortTransaction(): Promise<void>; command(command: IDocument, options?: unknown): Promise<IDocument>; create(document: IDocument, options?: unknown): Promise<ICreateOutput>; createMany(documents: IDocument[], options?: unknown): Promise<ICreateManyOutput>; retrieveAll<TData>(query: IQuery, options?: any): Promise<IRetrieveAllOutput<TData>>; retrieveMany<TData>(query: IQuery, options?: any): Promise<IRetrieveManyOutput<TData>>; retrieve<TOutput extends object>(_id: string, options?: any): Promise<TOutput | null>; update(filter: string | IDocument, document: IDocument, options?: any): Promise<IUpdateOutput>; updateMany(filter: IDocument, document: IDocument, options?: any): Promise<IUpdateManyOutput>; delete(_id: string, options?: any): Promise<IDeleteOutput>; deleteMany(input: string[] | Record<string, any>, options?: any): Promise<IDeleteManyOutput>; deleteAll(options?: any): Promise<IDeleteManyOutput>; aggregate<TData>(pipeline: IPipeline[], query?: IQuery, options?: any): Promise<IAggregateOutput<TData>>; } //# sourceMappingURL=connection.d.ts.map