Expand description
本地磁盘数据源 —— 值工具(点号路径取值 / Mongo BSON 类型序比较 / 极小表达式 / 投影)。
语义基准 = MongoDB 驱动语义(local 与 mongo 走同一条命令路径,必须同结果)。 纯逻辑:无 IO / 无时钟 / 无随机(确定性是双端对拍的前提)。
三态契约:显式 null(Value::Null)与字段缺失是两种不同状态 ——
resolve_path_candidates 以「空 = 缺失、含 Null = 显式 null」承载该区分。
Constants§
- MAX_
LOCAL_ COLLECTION_ DOCS - 单集合文档数护栏:超限一律
Err(禁静默截断,见执行文档 §4.1 / §8.4)。
Functions§
- apply_
projection - 应用投影:包含式 / 排除式;
_id特殊处理(包含式默认带_id,_id: 0可与之混用)。 - as_
number - 数字取值(普通 JSON number / 扩展
$numberLong/$numberDecimal统一为 f64);非数字 →None。 - bson_
rank - BSON 类型序权重:跨类型比较时先比权重(
MinKey < Null < Number < String < Object < Array < …)。 - compare
- Mongo BSON 序比较(
Ordering::Less/Greater/Equal)。 - eval_
expr - 求值极小聚合表达式。
- get_
path - 严格点号取值(不展开数组):路径任一段缺失 →
None;显式null→Some(&Value::Null)。 - matches_
value - Mongo 等值命中:
actual等于expected,或actual为数组且任一元素等于expected。 - merge_
into - 把投影子树并入输出文档;同名对象递归合并,其余覆盖。
- project_
include - 包含式取字段(点号路径,嵌套还原);路径不存在 →
None。 - remove_
path - 按段做排除投影(原地);遇数组对每个元素继续。
- resolve_
path_ candidates - 解析字段路径在文档上的全部候选值(Mongo 过滤命中语义,含数组下钻)。
- set_
path - 按段路径写入值(
$addFields/$unwind用):中间层不存在或非对象时补建为对象。 - values_
equal - 等值判定(= BSON 序比较为
Equal)。数字跨整型/浮点相等;文档按结构(键序由 serde_json 归一)。