@point-hub/papi
Version:
Point API Framework
38 lines • 2.23 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, IRetrieveOutput, 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>;
startSession(): ClientSession;
endSession(): Promise<void>;
startTransaction(): void;
commitTransaction(): Promise<void>;
abortTransaction(): Promise<void>;
create(document: IDocument, options?: unknown): Promise<ICreateOutput>;
createMany(documents: IDocument[], options?: unknown): Promise<ICreateManyOutput>;
retrieveAll(query: IQuery, options?: any): Promise<IRetrieveAllOutput>;
retrieve(_id: string, options?: any): Promise<IRetrieveOutput>;
update(_id: string, document: IDocument, options?: any): Promise<IUpdateOutput>;
updateMany(filter: IDocument, document: IDocument, options?: any): Promise<IUpdateManyOutput>;
delete(_id: string, options?: any): Promise<IDeleteOutput>;
deleteMany(_ids: string[], options?: any): Promise<IDeleteManyOutput>;
deleteAll(options?: any): Promise<IDeleteManyOutput>;
aggregate(pipeline: IPipeline[], query?: IQuery, options?: any): Promise<IAggregateOutput>;
}
//# sourceMappingURL=connection.d.ts.map