If an array: a list of the attributes that you want to select.
Attributes can also be raw SQL (literal
), fn
, and col
To rename an attribute, you can pass an array, with two elements:
literal
, fn
, col
),If include
is used: selects all the attributes of the model,
plus some additional ones. Useful for aggregations.
Pass query execution time in milliseconds as second argument to logging function (options.logging).
Either an object of named parameter bindings in the format $param
or an array of unnamed
values to bind to $1
, $2
, etc in your SQL.
Map returned fields to arbitrary names for SELECT query type if options.fieldMaps
is present.
GROUP BY in sql
Select group rows after groups and aggregates are computed.
A list of associations to eagerly load using a left join (a single association is also supported).
See Includeable to see how to specify the association, and its eager-loading options.
MySQL only.
A sequelize instance used to build the return instance
Limits how many items will be retrieved by the operation.
If limit
and include
are used together, Sequelize will turn the subQuery
option on by default.
This is done to ensure that limit
only impacts the Model on the same level as the limit
option.
You can disable this behavior by explicitly setting subQuery: false
, however limit
will then
affect the total count of returned values, including eager-loaded associations, instead of just one table.
Lock the selected rows. Possible options are transaction.LOCK.UPDATE and transaction.LOCK.SHARE. Postgres also supports transaction.LOCK.KEY_SHARE, transaction.LOCK.NO_KEY_UPDATE and specific model locks with joins. See LOCK.
A function that gets executed while running the query to log the sql.
Map returned fields to model's fields if options.model
or options.instance
is present.
Mapping will occur before building the model instance.
If true, transforms objects with .
separated property names into nested objects using
dottie.js. For example { 'user.username': 'john' } becomes
{ user: { username: 'john' }}. When nest
is true, the query type is assumed to be 'SELECT'
,
unless otherwise specified
Skip the first n items of the results.
Specifies an ordering. If a string is provided, it will be escaped.
Using an array, you can provide several attributes / functions to order by. Each element can be further wrapped in a two-element array:
If true, only non-deleted records will be returned. If false, both deleted and non-deleted records will be returned.
Only applies if InitOptions.paranoid is true for the model.
Sets the query type to SELECT
and return a single row
Return raw result. See {@link Sequelize#query} for more information.
Throws an error if the query would return 0 results.
Either an object of named parameter replacements in the format :param
or an array of unnamed
replacements to replace ?
in your SQL.
Apply a scope on the related model, or remove its default scope by passing false.
An optional parameter to specify the schema search_path (Postgres only)
Skip locked rows. Only supported in Postgres.
Use sub queries (internal).
If unspecified, this will true
by default if limit
is specified, and false
otherwise.
See {@link FindOptions#limit} for more information.
The transaction in which this query must be run.
If CLS is enabled and a transaction is running in the current CLS context, that transaction will be used, unless null or a Transaction is manually specified here.
The type of query you are executing. The query type affects how results are formatted before they are
passed back. The type is a string, but Sequelize.QueryTypes
is provided as convenience shortcuts.
Force the query to use the write pool, regardless of the query type.
The WHERE
clause. Can be many things from a hash of attributes to raw SQL.
Visit https://sequelize.org/docs/v7/core-concepts/model-querying-basics/ for more information.
Generated using TypeDoc
The options for the hasAssociation mixin of the hasMany association.
HasManyHasAssociationMixin