> Discover all available pages from the documentation index: https://mastra.zisheng.pro/zh-HK/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`): 只包含屬於此候選鍵的資料集。 **filters.candidateId** (`string`): 只包含屬於此候選 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 的分頁元資料。