DeleteQueryBuilder <T, RootAlias, Context>
Hierarchy
- RunQueryBuilder<T, RootAlias, Context>
- DeleteQueryBuilder
Index
Properties
Methods
- addSelect
- andHaving
- andOrderBy
- andWhere
- applyFilters
- as
- cache
- clone
- comment
- count
- delete
- distinct
- distinctOn
- execute
- from
- getCount
- getFormattedQuery
- getLoggerContext
- getNativeQuery
- getParams
- getQuery
- getResultAndCount
- groupBy
- hasFlag
- having
- hintComment
- ignore
- indexHint
- innerJoin
- innerJoinAndSelect
- innerJoinLateral
- innerJoinLateralAndSelect
- insert
- join
- joinAndSelect
- leftJoin
- leftJoinAndSelect
- leftJoinLateral
- leftJoinLateralAndSelect
- limit
- merge
- offset
- onConflict
- orderBy
- orHaving
- orWhere
- returning
- select
- setFlag
- setFlushMode
- setLockMode
- setLoggerContext
- stream
- toQuery
- toRaw
- truncate
- unsetFlag
- update
- where
- withSchema
- withSubQuery
Properties
readonlyinherited__subquery
inheritedalias
inheritedhelper
inheritedmainAlias
inheritedtype
Methods
inheritedaddSelect
Parameters
fields: F
Returns SelectQueryBuilder<T, RootAlias, never, Context, ExtractRawAliases<F extends readonly unknown[] ? F<F> : [F]>, * | ExtractRootFields<F extends readonly U[] ? U & string : F & string, RootAlias, Context>>
inheritedandHaving
Parameters
optionalcond: string | QBFilterQuery<T, RootAlias, Context, never>
optionalparams: any[]
Returns SelectQueryBuilder<T, RootAlias, never, Context, never, *>
inheritedandOrderBy
Adds additional ORDER BY clause without replacing existing order.
Parameters
orderBy: ContextOrderByMap<T, RootAlias, Context> | ContextOrderByMap<T, RootAlias, Context>[]
Returns SelectQueryBuilder<T, RootAlias, never, Context, never, *>
inheritedandWhere
Adds an AND WHERE clause to the query using an object condition.
Parameters
cond: QBFilterQuery<T, RootAlias, Context, never>
Returns this
inheritedapplyFilters
Apply filters to the QB where condition.
Parameters
filterOptions: FilterOptions = {}
Returns Promise<void>
inheritedas
Returns native query builder instance with sub-query aliased with given alias.
Parameters
alias: string
Returns NativeQueryBuilder
inheritedcache
Parameters
config: number | boolean | [string, number] = true
Returns this
inheritedclone
Parameters
optionalreset: boolean | string[]
optionalpreserve: string[]
Returns QueryBuilder<T, RootAlias, never, Context, never, *>
inheritedcomment
Prepend comment to the sql query using the syntax
/* ... *‍/. Some characters are forbidden such as/*, *‍/and?.Parameters
comment: undefined | string | string[]
Returns this
inheritedcount
Creates a COUNT query to count matching rows.
Parameters
optionalfield: F | F[]
distinct: boolean = false
Returns CountQueryBuilder<T>
inheriteddelete
Creates a DELETE query. Use
where()to specify which rows to delete.Parameters
optionalcond: QBFilterQuery<T, RootAlias, Context, never>
Returns DeleteQueryBuilder<T, RootAlias, Context>
inheriteddistinct
Returns SelectQueryBuilder<T, RootAlias, never, Context, never, *>
inheriteddistinctOn
postgres only
Parameters
fields: F
Returns SelectQueryBuilder<T, RootAlias, never, Context, never, *>
inheritedexecute
Executes this QB and returns the raw results, mapped to the property names (unless disabled via last parameter). Use
methodto specify what kind of result you want to get (array/single/meta).Parameters
optionalmethod: get | all | run
optionalmapResults: boolean
Returns Promise<Result>
inheritedfrom
Specifies FROM which entity's table select/update/delete will be executed, removing all previously set FROM-s. Allows setting a main string alias of the selection data.
Parameters
target: QueryBuilder<Entity, never, never, never, never, *>
optionalaliasName: string
Returns SelectQueryBuilder<Entity, RootAlias, never, Context, never, *>
inheritedgetCount
Executes count query (without offset and limit), returning total count of results
Parameters
optionalfield: F | F[]
optionaldistinct: boolean
Returns Promise<number>
inheritedgetFormattedQuery
Returns raw interpolated query string with all the parameters inlined.
Returns string
inheritedgetLoggerContext
Gets logger context for this query builder.
Returns T
inheritedgetNativeQuery
Parameters
processVirtualEntity: boolean = true
Returns NativeQueryBuilder
inheritedgetParams
Returns the list of all parameters for this query.
Returns readonly unknown[]
inheritedgetQuery
Returns the query with parameters as wildcards.
Returns string
inheritedgetResultAndCount
Executes the query, returning both array of results and total count query (without offset and limit).
Returns Promise<[Loaded<T, never, *>[], number]>
inheritedgroupBy
Adds a GROUP BY clause to the query.
Parameters
fields: F
Returns SelectQueryBuilder<T, RootAlias, never, Context, never, *>
inheritedhasFlag
Parameters
flag: QueryFlag
Returns boolean
inheritedhaving
Adds a HAVING clause to the query, typically used with GROUP BY.
Parameters
cond: string | QBFilterQuery<T, RootAlias, Context, never> = {}
optionalparams: any[]
optionaloperator: $and | $or
Returns SelectQueryBuilder<T, RootAlias, never, Context, never, *>
inheritedhintComment
Add hints to the query using comment-like syntax
/*+ ... *‍/. MySQL and Oracle use this syntax for optimizer hints. Also various DB proxies and routers use this syntax to pass hints to alter their behavior. In other dialects the hints are ignored as simple comments.Parameters
comment: undefined | string | string[]
Returns this
inheritedignore
Returns this
inheritedindexHint
Adds index hint to the FROM clause.
Parameters
sql: undefined | string
Returns this
inheritedinnerJoin
Adds an INNER JOIN clause to the query for an entity relation.
Parameters
field: Field
alias: Alias
optionalcond: JoinCondition<ExpandProperty<GetType<T, Context, Field>[GetPropName<Field> & keyof GetType<T, Context, Field>]>, Alias>
optionalschema: string
Returns SelectQueryBuilder<T, RootAlias, never, ModifyContext<T, Context, Field, Alias, false>, never, *>
inheritedinnerJoinAndSelect
Parameters
field: Field | [Field, RawQueryFragment<string> | QueryBuilder<any, never, never, never, never, *>]
alias: Alias
cond: JoinCondition<ExpandProperty<GetType<T, Context, Field>[GetPropName<Field> & keyof GetType<T, Context, Field>]>, Alias> = ...
optionalfields: JoinFields
optionalschema: string
Returns SelectQueryBuilder<T, RootAlias, (GetAlias<Field> extends Alias ? IsNever<Alias, true, false> extends true ? GetPropName<Field> : Alias extends RootAlias ? GetPropName<Field> : Alias extends keyof Context ? Context[Alias<Alias>] extends [Path, ...any[]] ? `${Path & string}.${GetPropName<Field>}` : GetPropName<Field> : GetPropName<Field> : GetPropName<Field>) & {}, ModifyContext<T, Context, Field, Alias, true>, never, ModifyFields<*, RootAlias, Context, Field, Alias, JoinFields>>
inheritedinnerJoinLateral
Parameters
field: RawQueryFragment<string> | QueryBuilder<any, never, never, never, never, *>
alias: Alias
cond: RawJoinCondition = {}
optionalschema: string
Returns SelectQueryBuilder<T, RootAlias, never, ModifyContext<T, Context, string, Alias, false>, never, *>
inheritedinnerJoinLateralAndSelect
Parameters
field: [Field, RawQueryFragment<string> | QueryBuilder<any, never, never, never, never, *>]
alias: Alias
cond: JoinCondition<ExpandProperty<GetType<T, Context, Field>[GetPropName<Field> & keyof GetType<T, Context, Field>]>, Alias> = ...
optionalfields: JoinFields
optionalschema: string
Returns SelectQueryBuilder<T, RootAlias, (GetAlias<Field> extends Alias ? IsNever<Alias, true, false> extends true ? GetPropName<Field> : Alias extends RootAlias ? GetPropName<Field> : Alias extends keyof Context ? Context[Alias<Alias>] extends [Path, ...any[]] ? `${Path & string}.${GetPropName<Field>}` : GetPropName<Field> : GetPropName<Field> : GetPropName<Field>) & {}, ModifyContext<T, Context, Field, Alias, true>, never, ModifyFields<*, RootAlias, Context, Field, Alias, JoinFields>>
inheritedinsert
Creates an INSERT query with the given data.
Parameters
data: RequiredEntityData<T> | RequiredEntityData<T>[]
Returns InsertQueryBuilder<T, RootAlias, Context>
inheritedjoin
Adds a JOIN clause to the query for an entity relation.
Parameters
field: Field
alias: Alias
optionalcond: JoinCondition<ExpandProperty<GetType<T, Context, Field>[GetPropName<Field> & keyof GetType<T, Context, Field>]>, Alias>
optionaltype: JoinType
optionalpath: string
optionalschema: string
Returns SelectQueryBuilder<T, RootAlias, never, ModifyContext<T, Context, Field, Alias, false>, never, *>
inheritedjoinAndSelect
Adds a JOIN clause and automatically selects the joined entity's fields. This is useful for eager loading related entities.
Parameters
field: Field | [Field, RawQueryFragment<string> | QueryBuilder<any, never, never, never, never, *>]
alias: Alias
cond: JoinCondition<ExpandProperty<GetType<T, Context, Field>[GetPropName<Field> & keyof GetType<T, Context, Field>]>, Alias> = ...
type: JoinType = JoinType.innerJoin
optionalpath: string
optionalfields: JoinFields
optionalschema: string
Returns SelectQueryBuilder<T, RootAlias, (GetAlias<Field> extends Alias ? IsNever<Alias, true, false> extends true ? GetPropName<Field> : Alias extends RootAlias ? GetPropName<Field> : Alias extends keyof Context ? Context[Alias<Alias>] extends [Path, ...any[]] ? `${Path & string}.${GetPropName<Field>}` : GetPropName<Field> : GetPropName<Field> : GetPropName<Field>) & {}, ModifyContext<T, Context, Field, Alias, true>, never, ModifyFields<*, RootAlias, Context, Field, Alias, JoinFields>>
inheritedleftJoin
Adds a LEFT JOIN clause to the query for an entity relation.
Parameters
field: Field
alias: Alias
optionalcond: JoinCondition<ExpandProperty<GetType<T, Context, Field>[GetPropName<Field> & keyof GetType<T, Context, Field>]>, Alias>
optionalschema: string
Returns SelectQueryBuilder<T, RootAlias, never, ModifyContext<T, Context, Field, Alias, false>, never, *>
inheritedleftJoinAndSelect
Parameters
field: Field | [Field, RawQueryFragment<string> | QueryBuilder<any, never, never, never, never, *>]
alias: Alias
cond: JoinCondition<ExpandProperty<GetType<T, Context, Field>[GetPropName<Field> & keyof GetType<T, Context, Field>]>, Alias> = ...
optionalfields: JoinFields
optionalschema: string
Returns SelectQueryBuilder<T, RootAlias, (GetAlias<Field> extends Alias ? IsNever<Alias, true, false> extends true ? GetPropName<Field> : Alias extends RootAlias ? GetPropName<Field> : Alias extends keyof Context ? Context[Alias<Alias>] extends [Path, ...any[]] ? `${Path & string}.${GetPropName<Field>}` : GetPropName<Field> : GetPropName<Field> : GetPropName<Field>) & {}, ModifyContext<T, Context, Field, Alias, true>, never, ModifyFields<*, RootAlias, Context, Field, Alias, JoinFields>>
inheritedleftJoinLateral
Parameters
field: RawQueryFragment<string> | QueryBuilder<any, never, never, never, never, *>
alias: Alias
cond: RawJoinCondition = {}
optionalschema: string
Returns SelectQueryBuilder<T, RootAlias, never, ModifyContext<T, Context, string, Alias, false>, never, *>
inheritedleftJoinLateralAndSelect
Parameters
field: [Field, RawQueryFragment<string> | QueryBuilder<any, never, never, never, never, *>]
alias: Alias
cond: JoinCondition<ExpandProperty<GetType<T, Context, Field>[GetPropName<Field> & keyof GetType<T, Context, Field>]>, Alias> = ...
optionalfields: JoinFields
optionalschema: string
Returns SelectQueryBuilder<T, RootAlias, (GetAlias<Field> extends Alias ? IsNever<Alias, true, false> extends true ? GetPropName<Field> : Alias extends RootAlias ? GetPropName<Field> : Alias extends keyof Context ? Context[Alias<Alias>] extends [Path, ...any[]] ? `${Path & string}.${GetPropName<Field>}` : GetPropName<Field> : GetPropName<Field> : GetPropName<Field>) & {}, ModifyContext<T, Context, Field, Alias, true>, never, ModifyFields<*, RootAlias, Context, Field, Alias, JoinFields>>
inheritedlimit
Sets a LIMIT clause to restrict the number of results.
Parameters
optionallimit: number
offset: number = 0
Returns SelectQueryBuilder<T, RootAlias, never, Context, never, *>
inheritedmerge
Parameters
data: readonly NestedAutoPath<T, RootAlias, Context, P>[]
Returns this
inheritedoffset
Sets an OFFSET clause to skip a number of results.
Parameters
optionaloffset: number
Returns SelectQueryBuilder<T, RootAlias, never, Context, never, *>
inheritedonConflict
Parameters
fields: RawQueryFragment<string> | F | F[] = ...
Returns InsertQueryBuilder<T, RootAlias, Context>
inheritedorderBy
Adds an ORDER BY clause to the query, replacing any existing order.
Parameters
orderBy: ContextOrderByMap<T, RootAlias, Context> | ContextOrderByMap<T, RootAlias, Context>[]
Returns SelectQueryBuilder<T, RootAlias, never, Context, never, *>
inheritedorHaving
Parameters
optionalcond: string | QBFilterQuery<T, RootAlias, Context, never>
optionalparams: any[]
Returns SelectQueryBuilder<T, RootAlias, never, Context, never, *>
inheritedorWhere
Adds an OR WHERE clause to the query using an object condition.
Parameters
cond: QBFilterQuery<T, RootAlias, Context, never>
Returns this
inheritedreturning
Parameters
optionalfields: F | F[]
Returns this
inheritedselect
Creates a SELECT query, specifying the fields to retrieve.
Parameters
fields: F
optionaldistinct: boolean
Returns SelectQueryBuilder<T, RootAlias, never, Context, ExtractRawAliases<F>, ExtractRootFields<F[number] & string, RootAlias, Context>>
inheritedsetFlag
Parameters
flag: QueryFlag
Returns this
inheritedsetFlushMode
Parameters
optionalflushMode: FlushMode
Returns this
inheritedsetLockMode
Parameters
optionalmode: LockMode
optionaltables: string[]
Returns this
inheritedsetLoggerContext
Sets logger context for this query builder.
Parameters
context: LoggingOptions & Dictionary
Returns void
inheritedstream
Executes the query and returns an async iterable (async generator) that yields results one by one. By default, the results are merged and mapped to entity instances, without adding them to the identity map. You can disable merging and mapping by passing the options
{ mergeResults: false, mapResults: false }. This is useful for processing large datasets without loading everything into memory at once.const qb = em.createQueryBuilder(Book, 'b');
qb.select('*').where({ title: '1984' }).leftJoinAndSelect('b.author', 'a');
for await (const book of qb.stream()) {
// book is an instance of Book entity
console.log(book.title, book.author.name);
}Parameters
optionaloptions: QBStreamOptions
Returns AsyncIterableIterator<Loaded<T, never, *>, any, any>
inheritedtoQuery
Returns { params: readonly unknown[]; sql: string }
params: readonly unknown[]
sql: string
inheritedtoRaw
Returns raw fragment representation of this QueryBuilder.
Returns RawQueryFragment<string>
inheritedtruncate
Creates a TRUNCATE query to remove all rows from the table.
Returns TruncateQueryBuilder<T>
inheritedunsetFlag
Parameters
flag: QueryFlag
Returns this
inheritedupdate
Creates an UPDATE query with the given data. Use
where()to specify which rows to update.Parameters
data: EntityData<T>
Returns UpdateQueryBuilder<T, RootAlias, Context>
inheritedwhere
Parameters
cond: string | QBFilterQuery<T, RootAlias, Context, never>
optionalparams: any[] | $and | $or
optionaloperator: $and | $or
Returns this
inheritedwithSchema
Parameters
optionalschema: string
Returns this
inheritedwithSubQuery
Parameters
subQuery: RawQueryFragment<string> | NativeQueryBuilder
alias: string
Returns this
Adds fields to an existing SELECT query.