跳到主要内容

extractFieldsFromMetadata()

function extractFieldsFromMetadata(
metadata,
allModels,
config?
): FieldMetadata[];

Defined in: packages/rxdb-model/src/query-builder/utils/metadata-field-extractor.ts:148

从 EntityMetadata 提取字段(支持递归关系)

Parameters​

ParameterTypeDescription
metadataEntityMetadata实体元数据
allModelsMap<string, ModelInfo>所有模型的映射表
configFieldExtractorConfig字段提取器配置

Returns​

FieldMetadata[]

字段元数据列表

Remarks​

此函数会递归提取实体的所有字段,包括:

  1. 系统字段(id, createdAt, updatedAt 等)
  2. 实体属性字段
  3. 外键字段
  4. 关系字段(递归,直到达到深度限制)

Example​

const fields = extractFieldsFromMetadata(
userMetadata,
modelMap,
`{ relationQueryDeep: 3 }`
);
// 返回: [
// { name: 'id', displayName: 'ID', type: 'string' },
// { name: 'name', displayName: '姓名', type: 'string' },
// { name: 'orders', displayName: '订单 (ONE_TO_MANY)', type: 'relation', ... },
// { name: 'orders.id', displayName: '订单.ID', type: 'string' },
// ...
// ]