Skip to main content

Advanced Usage

Aggregate class is also shipped with more useful methods to help you use queries easily.

Min

To get minimum value of a field, we can use min method.

Method Signature:

public min(field: string): number;

Example:

const minAge = await aggregate.min("age");

This will return the minimum age of all users.

Get Max value

To get maximum value of a field, we can use max method.

Method Signature:

public max(field: string): number;

Example:

const maxAge = await aggregate.max("age");

Get Average value

To get average value of a field, we can use avg method.

Method Signature:

public avg(field: string): number;

Example:

const avgAge = await aggregate.avg("age");

average is an alias for avg method.

Get Sum value

To get sum value of a field, we can use sum method.

Method Signature:

public sum(field: string): number;

Example:

const totalSalaries = await aggregate.sum("salary");

We can also use filters with it as well by using where method:

const totalSalaries = await aggregate.where("age", ">", 20).sum("salary");

Get distinct values

To get distinct values of a field, we can use distinct method.

Method Signature:

public distinct(field: string): any[];

Example:

const distinctAges = await aggregate.distinct("age");

It will return an array of values.

Please note that if the field has a null value, it will be returned as well.

You can also use unique method as an alias to it.

Get Distinct Heavy Values

This method is similar to distinct method, but it will return the distinct values without the null values.

Method Signature:

public distinctHeavy(field: string): any[];

Example:

const distinctAges = await aggregate.distinctHeavy("age");

uniqueHeavy is an alias for distinctHeavy method.