UNPKG

@liqd-js/mongodb-model

Version:
31 lines (30 loc) 966 B
import { MongoRootDocument } from '../../types'; import { Document, Filter, Sort } from 'mongodb'; export type ListParams<DBE extends MongoRootDocument> = { accessFilter?: Filter<DBE>; computedProperties?: { fields: Document | null; pipeline: Document[] | null; }; filter?: Filter<DBE>; smartFilter?: { filter?: Filter<DBE>; pipeline?: Document[]; }; pipeline?: Document[]; projection?: Document; skip?: number; sort?: Sort; limit?: number; sample?: number; cursor?: string; countLimit?: number; }; export declare class QueryBuilder<DBE extends MongoRootDocument> { pipeline(params: ListParams<DBE>): Promise<Document[]>; count(params: ListParams<DBE>): Promise<Document[]>; /** * Removes stages from the end of the pipeline that don't affect the count, adds $count stage */ buildCountPipeline(pipeline: Document[], countLimit?: number): Document[]; }