UNPKG

@amaui/mongo

Version:

Utils for easier using of mongodb library.

43 lines (42 loc) 1.35 kB
import * as mongodb from 'mongodb'; import AmauiLog from '@amaui/log'; import { IAmauiLogOptions } from '@amaui/log/AmauiLog'; import AmauiSubscription from '@amaui/subscription'; export interface IMongoCollectionIndex { name: string; indexes: Array<{ keys: mongodb.IndexSpecification; options?: mongodb.CreateIndexesOptions; }>; } export interface IMongoOptions { name?: string; uri?: string; log_options?: IAmauiLogOptions; indexes?: IMongoCollectionIndex[]; } export interface IDefaults { aggregateOptions?: mongodb.AggregateOptions; limitCount?: number; } export declare const mongoOptionsDefault: IMongoOptions; export declare class Mongo { db: mongodb.Db; connected: boolean; client: mongodb.MongoClient; amauiLog: AmauiLog; private options_; collections: Array<mongodb.CollectionInfo>; subscription: AmauiSubscription<any>; static defaults: IDefaults; get options(): IMongoOptions; set options(options: IMongoOptions); constructor(options?: IMongoOptions); createIndexes(): Promise<any>; get connection(): Promise<mongodb.Db> | Error; get disconnect(): Promise<void>; getCollections(refetch?: boolean): Promise<Array<mongodb.CollectionInfo>>; reset(name: string): Promise<void>; private connect; } export default Mongo;