For the complete documentation index, see llms.txt. This page is also available as Markdown.

Aggregate Collection

When you may need aggregate of collections?

If you want to apply some aggregators like COUNT, MAX, MIN, SUM, AVERAGE on some blockchain data.

Usage

const aggregationFunctionsResults = result = 
        (await client.net.aggregate_collection({
        collection: 'accounts',
        fields: [
            {
                field: "balance",
                fn: "MIN"
            },
            {
                field: "balance",
                fn: "MAX"
            }, {
                field: "balance",
                fn: "AVERAGE"
            }, {
                field: "balance",
                fn: "SUM"
            },
            {
                field: "balance",
                fn: "COUNT"
            }
        ]
    })).values;
console.log("Minimum account balance: " + aggregationFunctionsResults[0]);
console.log("Maximum account balance: " + aggregationFunctionsResults[1]);
console.log("Average balance: " + aggregationFunctionsResults[2]);
console.log("Total balance of all accounts: " + aggregationFunctionsResults[3]);
console.log("Number of accounts: " + aggregationFunctionsResults[4] + '\n');

About collections

There are a few collections with blockchain data:

  • accounts: blockchain account data;

  • transactions: transactions related to accounts;

  • messages: input and output messages related to transactions;

  • blocks: blockchain blocks.

  • block_signatures : validator block signatures

Reference

Sample: https://github.com/everx-labs/sdk-samples/tree/master/core-examples/node-js/query

Last updated