> Discover all available pages from the documentation index: https://mastra.zisheng.pro/llms.txt # DatasetsManager.list() **添加于:** `@mastra/core@1.4.0` 以分页方式列出数据集,并支持可选筛选条件。筛选在存储层应用,因此调用方无需对结果进行后置筛选。 ## 使用示例 ```typescript import { Mastra } from '@mastra/core' const mastra = new Mastra({/* storage config */}) const { datasets, pagination } = await mastra.datasets.list({ page: 0, perPage: 10 }) for (const ds of datasets) { console.log(`${ds.id}: ${ds.name} (v${ds.version})`) } // Filter by target type and name (case-insensitive substring) const filtered = await mastra.datasets.list({ page: 0, perPage: 20, filters: { targetType: 'agent', name: 'qa' }, }) // Filter by any-overlap match on target IDs const forAgents = await mastra.datasets.list({ filters: { targetIds: ['agent-a', 'agent-b'] }, }) ``` ## 参数 **page** (`number`): 页码。默认为 0。 **perPage** (`number`): 每页的数据集数。默认为 20。 **filters** (`object`): 在存储层应用的可选筛选条件。 **filters.organizationId** (`string`): 租户筛选:仅保留此组织中的数据集。 **filters.projectId** (`string`): 租户筛选:仅保留此项目中的数据集。 **filters.candidateKey** (`string`): 仅保留属于此 candidate key 的数据集。 **filters.candidateId** (`string`): 仅保留属于此 candidate ID 的数据集。 **filters.targetType** (`'agent' | 'workflow' | 'scorer' | 'processor'`): 仅保留以此组件类型为目标的数据集。 **filters.targetIds** (`string[]`): 仅保留 targetIds 与此列表存在交集的数据集(任意重叠匹配)。空数组视为不筛选。 **filters.name** (`string`): 对数据集 name 进行不区分大小写的子字符串匹配。空字符串视为不筛选。 ## 返回值 **result** (`Promise`): 分页的数据集列表。 **result.datasets** (`DatasetRecord[]`): 数据集记录数组。记录结构请参阅 dataset.getDetails()。 **result.pagination** (`PaginationInfo`): 包含 total、page、perPage 和 hasMore 的分页元数据。