跳至主要內容

DatasetsManager.list()

新增於: @mastra/core@1.4.0

以分頁方式列出資料集,並支援選用篩選條件。篩選條件會套用在儲存層,因此呼叫方不必再篩選結果。

使用範例
「使用範例」的直接連結

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
套用在儲存層的選用篩選條件。
object

organizationId?:

string
租戶篩選:僅保留此組織中的資料集。

projectId?:

string
租戶篩選:僅保留此項目中的資料集。

candidateKey?:

string
僅保留屬於此 candidate key 的資料集。

candidateId?:

string
僅保留屬於此 candidate ID 的資料集。

targetType?:

'agent' | 'workflow' | 'scorer' | 'processor'
僅保留以此元件類型為目標的資料集。

targetIds?:

string[]
僅保留 targetIds 與此清單存在交集的資料集(任意重疊相符)。空陣列視為不篩選。

name?:

string
對資料集 name 進行不區分大小寫的子字串相符。空字串視為不篩選。

傳回值
「傳回值」的直接連結

result:

Promise<object>
分頁的資料集清單。
object

datasets:

DatasetRecord[]
資料集記錄陣列。記錄結構請參閱 dataset.getDetails()。

pagination:

PaginationInfo
包含 totalpageperPagehasMore 的分頁中繼資料。