extractFieldsFromMetadata()
function extractFieldsFromMetadata(
metadata,
allModels,
config?
): FieldMetadata[];
Defined in: packages/rxdb-model/src/query-builder/utils/metadata-field-extractor.ts:148
从 EntityMetadata 提取字段(支持递归关系)
Parameters
| Parameter | Type | Description |
|---|---|---|
metadata | EntityMetadata | 实体元数据 |
allModels | Map<string, ModelInfo> | 所有模型的映射表 |
config | FieldExtractorConfig | 字段提取器配置 |
Returns
字段元数据列表
Remarks
此函数会递归提取实体的所有字段,包括:
- 系统字段(id, createdAt, updatedAt 等)
- 实体属性字段
- 外键字段
- 关系字段(递归,直到达到深度限制)
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' },
// ...
// ]