pub fn process_node(
doc: &mut Value,
fields: &mut Vec<String>,
relations: &mut Vec<(String, RelAst)>,
schema: &Schema,
ctx: Option<&Context>,
registry: &Registry,
fn_registry: Option<&dyn FnRegistry>,
) -> Result<(), String>Expand description
递归处理单条文档:补默认值 → 跑 fn 计算列 → 补计算列默认值 → 递归下钻 → 裁剪 → 权限裁剪
时序严格(对应 JS processNode):
- 展平 object 子字段
- 收集 needed / dotFields
- 补字段默认值
- 跑 fn 计算列 + 补计算列默认值
- 递归下钻
- 权限裁剪
- 裁剪字段