본문으로 건너뛰기

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
total, page, perPage, hasMore가 포함된 페이지네이션 메타데이터입니다.