UNPKG

undeexcepturi

Version:

TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, MySQL, PostgreSQL and SQLite databases as well as usage with vanilla JavaScript.

51 lines (48 loc) 2.21 kB
--- title: Query Builder API --- `QueryBuilder` provides fluent interface with these methods: ```typescript select(fields: Field<T> | Field<T>[], distinct?: boolean): QueryBuilder; addSelect(fields: string | string[]): QueryBuilder; insert(data: any): QueryBuilder; update(data: any): QueryBuilder; delete(cond?: QBFilterQuery): QueryBuilder; truncate(): QueryBuilder; count(field?: string | string[], distinct?: boolean): QueryBuilder; join(field: string, alias: string, cond?: QBFilterQuery, type?: 'leftJoin' | 'innerJoin' | 'pivotJoin', path?: string): QueryBuilder; leftJoin(field: string, alias: string, cond?: QBFilterQuery): QueryBuilder; withSubQuery(subQuery: KnexQueryBuilder, alias: string): QueryBuilder; where(cond: QBFilterQuery<T>, operator?: keyof typeof GroupOperator): QueryBuilder; where(cond: string, params?: any[], operator?: keyof typeof GroupOperator): QueryBuilder; andWhere(cond: QBFilterQuery<T>): QueryBuilder; andWhere(cond: string, params?: any[]): QueryBuilder; orWhere(cond: QBFilterQuery<T>): QueryBuilder; orWhere(cond: string, params?: any[]): QueryBuilder; orderBy(orderBy: QueryOrderMap): QueryBuilder; groupBy(fields: (string | keyof T) | (string | keyof T)[]): QueryBuilder; having(cond?: QBFilterQuery | string, params?: any[]): QueryBuilder; raw(sql: string): Raw; limit(limit?: number, offset?: number): QueryBuilder; offset(offset?: number): QueryBuilder; withSchema(schema?: string): QueryBuilder; setLockMode(mode?: LockMode): QueryBuilder; setFlag(flag: QueryFlag): QueryBuilder; unsetFlag(flag: QueryFlag): QueryBuilder; getKnexQuery(): KnexQueryBuilder; getQuery(): string; getParams(): readonly Value[]; getAliasForJoinPath(path: string): string | undefined; getNextAlias(prefix?: string): string; execute<U = any>(method?: 'all' | 'get' | 'run', mapResults?: boolean): Promise<U>; getResult(): Promise<T[]>; getResultList(): Promise<T[]>; getSingleResult(): Promise<T | null>; /** * Returns knex instance with sub-query aliased with given alias. * You can provide `EntityName.propName` as alias, then the field name will be used based on the metadata */ as(alias: string): KnexQueryBuilder; clone(): QueryBuilder<T>; getKnex(): KnexQueryBuilder; ```