@amaui/mongo
Version:
Utils for easier using of mongodb library.
43 lines (42 loc) • 1.35 kB
TypeScript
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;