Query Builder
Just like any other ORM, ObjectionJS also provides support for query builder. We have added a CustomQueryBuilder
which provides some high utility methods.
info
All methods listed below support method chaining with all objectionjs methods
Methods
In addition to what knexjs provides, we have added a few important query methods which you can use.
paginate
Use this method to load paginated data.
const query = User.query();
await query.paginate(1, 15); // loads the page number 1 of size 15
/** Output =>
{
pagination: {
currentPage: 1,
totalPages: 10,
perPage: 15,
total: 150,
},
data: [
... instance of user models
],
}
*/
exists
Use this method to check if any model exists for any condition
const query = User.query().where("name", "vinayak");
await query.exists(); // will return true if any user exists with name of 'vinayak'
chunk
Use this method to load data in small chunks if you have any large amount of data, for example, loading 1K rows at a time in case of a table having 100K rows.
const query = User.query();
const cb = (users: User[]) => {
// perform your action here.
};
await query.chunk(cb, 1000);