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.
Default values to use if building a new instance
Map returned fields to arbitrary names for SELECT query type if options.fieldMaps
is present.
If set, only columns matching those in fields will be saved
GROUP BY in sql
Select group rows after groups and aggregates are computed.
If false
the applicable hooks will not be called.
The default value depends on the context.
dialect specific ON CONFLICT DO NOTHING / INSERT IGNORE
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
Is this record new
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.
Return the affected rows (only for postgres)
An optional parameter to specify the schema search_path (Postgres only)
If true, the updatedAt timestamp will not be updated.
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.
If false, validations won't be run.
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
Options for Model.findOrCreate method