@point-hub/papi
Version:
Point API Framework
41 lines • 2.53 kB
TypeScript
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