Skip to main content

Module value

Module value 

Source
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 归一)。