UNPKG

mongo-bolt

Version:

A lightweight, beginner-friendly MongoDB wrapper with inbuilt caching and simplified joins/indexing.

34 lines (33 loc) 2.12 kB
import type { config } from './types/Datatypes.d.ts'; import mongoose, { SchemaDefinition, SchemaDefinitionType, IndexDefinition } from 'mongoose'; import AggregtationBuilder from './AggregateFunctions/index.js'; declare class MongoDB { private config; private connector; constructor(config: config); connect(): Promise<void>; createStore<T>(collectionName: string, schema: SchemaDefinition<SchemaDefinitionType<T>>): Promise<void>; insertItem<T>(collectionName: string, documentData: T): Promise<void>; insertItems<T>(collectionName: string, documentsData: T[]): Promise<void>; findItem<T>(collectionName: string, query?: Record<string, any>): Promise<T[]>; updateItems(collectionName: string, query: Record<string, any>, update: Record<string, any>): Promise<number>; deleteStore(collectionName: string): Promise<void>; getMongoose(): Promise<typeof mongoose>; dropItem(storeName: string, itemInfo: Record<string, any>): Promise<void>; dropItems(storeName: string, itemInfo: Record<string, any>): Promise<void>; truncateStore(storeName: string): Promise<void>; alterStore<T, U>(storeName: string, newSchema: SchemaDefinition<SchemaDefinitionType<U>>, changeValues: Record<string, any>): Promise<void>; findAndPopulateById<T>(storeName: string, thingsToBePopulated: string | string[], query: Record<string, any>): Promise<T[]>; aggregate<T>(storeName: string, pipeline: any): Promise<any[]>; pipelineBuilder(): AggregtationBuilder; createIndex(storeName: string, column: string, order: string, options: any): Promise<void>; viewIndexes(storeName: string): Promise<IndexDefinition[]>; dropIndex(storeName: string, indexName: string): Promise<void>; findAndPopulateByKey(fromstoreName: string, query: Record<string, any>, fromKey: string, findinstoreName: string, inKey: string): Promise<any[]>; startTransaction(): Promise<void>; commitTransaction(): Promise<void>; abortTransaction(): Promise<void>; getSession(): Promise<mongoose.ClientSession | null>; disconnect(): Promise<void>; } export default MongoDB;