> Discover all available pages from the documentation index: https://mastra.zisheng.pro/zh-TW/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 的分頁中繼資料。