Movatterモバイル変換


[0]ホーム

URL:


Objection.js

# Find Methods

# findById()

queryBuilder= queryBuilder.findById(id);

Finds a single item by id.

# Arguments
ArgumentTypeDescription
idany | any[]The identifier.
# Return value
TypeDescription
QueryBuilderthis query builder for chaining.
# Examples
const person=await Person.query().findById(1);

Composite key:

const person=await Person.query().findById([1,'10']);

findById can be used together withpatch,delete and any other query method. All it does is adds the neededwhere clauses to the query.

await Person.query().findById(someId).patch({firstName:'Jennifer'});

# findByIds()

queryBuilder= queryBuilder.findByIds(ids);

Finds a list of items. The order of the returned items is not guaranteed to be the same as the order of the inputs.

# Arguments
ArgumentTypeDescription
idsany[]A List of identifiers.
# Return value
TypeDescription
QueryBuilderthis query builder for chaining.
# Examples
const[person1, person2]=await Person.query().findByIds([1,2]);

Composite key:

const[person1, person2]=await Person.query().findByIds([[1,'10'],[2,'10']]);

# findOne()

queryBuilder= queryBuilder.findOne(...whereArgs);

Shorthand forwhere(...whereArgs).first().

# Arguments
ArgumentTypeDescription
whereArgs...anyAnything thewhere method accepts.
# Return value
TypeDescription
QueryBuilderthis query builder for chaining.
# Examples
const person=await Person.query().findOne({firstName:'Jennifer',lastName:'Lawrence'});
const person=await Person.query().findOne('age','>',20);
const person=await Person.query().findOne(raw('random() < 0.5'));

# alias()

queryBuilder= queryBuilder.alias(alias);

Give an alias for the table to be used in the query.

# Arguments
ArgumentTypeDescription
aliasstringTable alias for the query.
# Return value
TypeDescription
QueryBuilderthis query builder for chaining.
# Examples
await Person.query().alias('p').where('p.id',1).join('persons as parent','parent.id','p.parentId');

# aliasFor()

queryBuilder= queryBuilder.aliasFor(tableNameOrModelClass, alias);

Give an alias for any table in the query.

# Arguments
ArgumentTypeDescription
tableNameOrModelClassstring | ModelClassThe table or model class to alias.
aliasstringThe alias.
# Return value
TypeDescription
QueryBuilderthis query builder for chaining.
# Examples
// This query uses joinRelated to join a many-to-many relation which also joins// the join table `persons_movies`. We specify that the `persons_movies` table// should be called `pm` instead of the default `movies_join`.await Person.query().aliasFor('persons_movies','pm').joinRelated('movies').where('pm.someProp',100);

Model class can be used instead of table name

await Person.query().aliasFor(Movie,'m').joinRelated('movies').where('m.name','The Room');

# select()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# forUpdate()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# forShare()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# forNoKeyUpdate()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# forKeyShare()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# skipLocked()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# noWait()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# as()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# columns()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# column()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# from()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# fromRaw()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# into()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# with()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# withMaterialized()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# withNotMaterialized()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# withSchema()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# table()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# distinct()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# distinctOn()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# where()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# andWhere()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# orWhere()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# whereNot()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# orWhereNot()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# whereRaw()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# whereWrapped()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# havingWrapped()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# orWhereRaw()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# whereExists()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# orWhereExists()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# whereNotExists()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# orWhereNotExists()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# whereIn()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# orWhereIn()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# whereNotIn()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# orWhereNotIn()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# whereNull()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# orWhereNull()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# whereNotNull()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# orWhereNotNull()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# whereBetween()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# whereNotBetween()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# orWhereBetween()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# orWhereNotBetween()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# whereColumn()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# andWhereColumn()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# orWhereColumn()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# whereNotColumn()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# andWhereNotColumn()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# orWhereNotColumn()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# whereLike()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# whereILike()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# groupBy()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# groupByRaw()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# orderBy()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# orderByRaw()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# union()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# unionAll()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# intersect()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# having()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# havingRaw()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# orHaving()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# orHavingRaw()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# offset()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# limit()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# count()

Seeknex documentation(opens new window)

Also see theresultSize method for a cleaner way to just get the number of rows a query would create.

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# countDistinct()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# min()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# max()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# sum()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# avg()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# avgDistinct()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# returning()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# columnInfo()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# whereComposite()

queryBuilder= queryBuilder.whereComposite(columns, operator, values);

where for (possibly) composite keys.

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.
# Examples
builder.whereComposite(['id','name'],'=',[1,'Jennifer']);

This method also works with a single column - value pair:

builder.whereComposite('id',1);

# whereInComposite()

queryBuilder= queryBuilder.whereInComposite(columns, values);

whereIn for (possibly) composite keys.

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.
# Examples
builder.whereInComposite(['a','b'],[[1,2],[3,4],[1,4]]);
builder.whereInComposite('a',[[1],[3],[1]]);
builder.whereInComposite('a',[1,3,1]);
builder.whereInComposite(['a','b'], SomeModel.query().select('a','b'));

# jsonExtract()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# jsonSet()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# jsonInsert()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# jsonRemove()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# whereJsonObject()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# whereNotJsonObject()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# whereJsonPath()

Seeknex documentation(opens new window)

# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# whereJsonSupersetOf()

queryBuilder= queryBuilder.whereJsonSupersetOf(  fieldExpression,  jsonObjectOrFieldExpression);

Where left hand json field reference is a superset of the right hand json value or reference.

# Arguments
ArgumentTypeDescription
fieldExpressionFieldExpressionReference to column / json field, which is tested for being a superset
jsonObjectOrFieldExpressionObject | Array | FieldExpressionTo which to compare
# Return value
TypeDescription
QueryBuilderthis query builder for chaining.
# Examples
const people=await Person.query().whereJsonSupersetOf('additionalData:myDogs','additionalData:dogsAtHome');// These people have all or some of their dogs at home. Person might have some// additional dogs in their custody since myDogs is superset of dogsAtHome.const people=await Person.query().whereJsonSupersetOf('additionalData:myDogs[0]',{name:'peter'});// These people's first dog name is "peter", but the dog might have// additional attributes as well.

Object and array are always their own supersets.

For arrays this means that left side matches if it has all the elements listed in the right hand side. e.g.

[1,2,3] isSuperSetOf [2] => true[1,2,3] isSuperSetOf [2,1,3] => true[1,2,3] isSuperSetOf [2,null] => false[1,2,3] isSuperSetOf [] => true

Thenot variants with jsonb operators behave in a way that they won't match rows, which don't have the referred json key referred in field expression. e.g. for table

 id |    jsonObject----+--------------------------  1 | {}  2 | NULL  3 | {"a": 1}  4 | {"a": 1, "b": 2}  5 | {"a": ['3'], "b": ['3']}

this query:

builder.whereJsonNotEquals('jsonObject:a','jsonObject:b');

Returns only the row4 which has keysa andb anda !=b, but it won't return any rows that don't havejsonObject.a orjsonObject.b.

# orWhereJsonSupersetOf()

SeewhereJsonSupersetOf

# whereJsonNotSupersetOf()

SeewhereJsonSupersetOf

# orWhereJsonNotSupersetOf()

SeewhereJsonSupersetOf

# whereJsonSubsetOf()

queryBuilder= queryBuilder.whereJsonSubsetOf(  fieldExpression,  jsonObjectOrFieldExpression);

Where left hand json field reference is a subset of the right hand json value or reference.

Object and array are always their own subsets.

SeewhereJsonSupersetOf

# Arguments
ArgumentTypeDescription
fieldExpressionFieldExpressionReference to column / json field, which is tested for being a superset
jsonObjectOrFieldExpressionObject | Array | FieldExpressionTo which to compare
# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# orWhereJsonSubsetOf()

SeewhereJsonSubsetOf

# whereJsonNotSubsetOf()

SeewhereJsonSubsetOf

# orWhereJsonNotSubsetOf()

SeewhereJsonSubsetOf

# whereJsonIsArray()

queryBuilder= queryBuilder.whereJsonIsArray(fieldExpression);

Where json field reference is an array.

# Arguments
ArgumentTypeDescription
fieldExpressionFieldExpression
# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# orWhereJsonIsArray()

SeewhereJsonIsArray

# whereJsonNotArray()

SeewhereJsonIsArray

# orWhereJsonNotArray()

SeewhereJsonIsArray

# whereJsonIsObject()

queryBuilder= queryBuilder.whereJsonIsObject(fieldExpression);

Where json field reference is an object.

# Arguments
ArgumentTypeDescription
fieldExpressionFieldExpression
# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# orWhereJsonIsObject()

SeewhereJsonIsObject

# whereJsonNotObject()

SeewhereJsonIsObject

# orWhereJsonNotObject()

SeewhereJsonIsObject

# whereJsonHasAny()

queryBuilder= queryBuilder.whereJsonHasAny(fieldExpression, keys);

Where any of given strings is found from json object keys.

TIP

This doesn't work for arrays. If you want to check if an array contains an item, seethis(opens new window) andthis(opens new window) issue.

# Arguments
ArgumentTypeDescription
fieldExpressionFieldExpression
keysstring | string[]Strings that are looked from object or array
# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# orWhereJsonHasAny()

SeewhereJsonHasAny

# whereJsonHasAll()

queryBuilder= queryBuilder.whereJsonHasAll(fieldExpression, keys);

Where all of given strings are found from json object keys.

TIP

This doesn't work for arrays. If you want to check if an array contains an item, seethis(opens new window) andthis(opens new window) issue.

# Arguments
ArgumentTypeDescription
fieldExpressionFieldExpression
keysstring | string[]Strings that are looked from object or array
# Return value
TypeDescription
QueryBuilderthis query builder for chaining.

# orWhereJsonHasAll()

SeewhereJsonHasAll

Mutating Methods


[8]ページ先頭

©2009-2025 Movatter.jp