UNPKG

mongo-base-crud

Version:

Class to handler access and handler database

68 lines (67 loc) 2.87 kB
/// <reference types="mongoose/types/aggregate" /> /// <reference types="mongoose/types/callback" /> /// <reference types="mongoose/types/collection" /> /// <reference types="mongoose/types/connection" /> /// <reference types="mongoose/types/cursor" /> /// <reference types="mongoose/types/document" /> /// <reference types="mongoose/types/error" /> /// <reference types="mongoose/types/expressions" /> /// <reference types="mongoose/types/helpers" /> /// <reference types="mongoose/types/middlewares" /> /// <reference types="mongoose/types/indexes" /> /// <reference types="mongoose/types/models" /> /// <reference types="mongoose/types/mongooseoptions" /> /// <reference types="mongoose/types/pipelinestage" /> /// <reference types="mongoose/types/populate" /> /// <reference types="mongoose/types/query" /> /// <reference types="mongoose/types/schemaoptions" /> /// <reference types="mongoose/types/schematypes" /> /// <reference types="mongoose/types/session" /> /// <reference types="mongoose/types/types" /> /// <reference types="mongoose/types/utility" /> /// <reference types="mongoose/types/validation" /> /// <reference types="mongoose/types/virtuals" /> /// <reference types="mongoose/types/inferschematype" /> /// <reference types="mongoose/types/inferrawdoctype" /> import { Schema, Model, Connection } from "mongoose"; import { DocumentWithId, Filter, IDatabase, List, FilterNoOffset } from "../IDatabase"; export type MongoConfig = { prefixName?: string; fullUrl: string; database?: string; disablePlural?: boolean; }; export interface CollectionInfo { name: string; schema: Schema; collection: Model<Schema>; } export declare class MongoDbAccess implements IDatabase { config: any; static collectionsInfo: Map<string, Schema>; protected static getCollectionInfoOrDefault(collectionName: string, indexes?: any): Schema; protected static models: Map<string, any>; static getInstance(collectionName: string, databaseName?: string, indexes?: any, connectionTryingTimes?: number, defaultConfig?: MongoConfig): Promise<MongoDbAccess>; mongoose: Connection; collection: string; model: any; constructor(config: any, collectionName: string, mongo: Connection, _model: any); private formatDoc; aggregate<T>(pipeline: any[]): Promise<T>; getById<T>(id: string): Promise<T | null>; private handleFilter; findAll<T>(filterOffset: FilterNoOffset): Promise<T[]>; find<T>(filterOffset: Filter): Promise<List<T>>; insert(data: { [key: string]: any; id?: string | undefined; }): Promise<DocumentWithId>; update(data: { [key: string]: any; id: string; }): Promise<DocumentWithId>; partialUpdate(id: string, updates: Partial<{ [key: string]: any; }>): Promise<DocumentWithId>; delete(id: string): Promise<any>; }