> Portal Navigation: > > - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version. > - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages). > - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`). > - Top-level index of all portals: https://dev.wix.com/docs/llms.txt > - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt # Method name: data.items.aggregate(dataCollectionId: string) # Method Link: https://dev.wix.com/docs/sdk/business-solutions/data/items/aggregate.md # Method Description: Creates an aggregation on a data collection. The `aggregate()` method builds an aggregation on the specified collection and returns a `WixDataAggregate` object. An aggregation enables you to perform certain calculations on your collection data, or on groups of items that you define, to retrieve meaningful summaries. You can also add paging, filtering, and sorting preferences to your aggregation by chaining [`WixDataAggregate`](https://dev.wix.com/docs/sdk/backend-modules/data/items/wix-data-aggregate/introduction.md) methods. The returned object contains the aggregate definition. Finally, to run the aggregation, chain [`run()`](https://dev.wix.com/docs/sdk/backend-modules/data/items/wix-data-aggregate/run.md) as the last method. The `aggregate()` method runs with the following defaults that you can override: + `skip`: `0` + `limit`: `50` # Method Permissions: - Read Data Items # Method Permissions Scopes IDs: - SCOPE.DC-DATA.READ # Method Code Examples: ## Perform an aggregation ```javascript import { items } from "@wix/data"; async function aggregateItems() { const results = await items.aggregate("PopulationData") .run(); if (results.items.length > 0) { const items = results.items; const numItems = results.length; const hasNext = results.hasNext(); } else { // handle case where no matching items found } } ``` ## Create an aggregation and run it ```javascript import { items } from "@wix/data"; async function aggregateItems() { const results = await items.aggregate("PopulationData") .run(); if (results.items.length > 0) { const items = results.items; const numItems = results.length; const hasNext = results.hasNext(); } else { // handle case where no matching items found } } ``` ## default ```javascript try { const result = await items.aggregate("collection-0.4863025090506383"); return result; } catch (error) { console.error(error); throw error; } ```