跳到主要内容

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 的分页元数据。