跳至主要內容

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
只包含屬於此候選鍵的資料集。

candidateId?:

string
只包含屬於此候選 ID 的資料集。

targetType?:

'agent' | 'workflow' | 'scorer' | 'processor'
只包含以此元件類型為目標的資料集。

targetIds?:

string[]
只包含 targetIds 與此清單有交集的資料集(任意重疊即相符)。空陣列視為不設篩選。

name?:

string
對資料集 name 執行不分大小寫的子字串配對。空字串視為不設篩選。

傳回值
傳回值 的直接連結

result:

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

datasets:

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

pagination:

PaginationInfo
包含 totalpageperPagehasMore 的分頁元資料。