6个版本
0.1.6 | 2022年7月18日 |
---|---|
0.1.5 | 2022年7月17日 |
#2402 在 数据库接口
37KB
996 行
mongodb-language-model
解析MongoDB查询并创建带词性标注的抽象语法树(AST)。目前仅支持严格扩展JSON语法,且并非所有情况都能正确创建,某些情况可能完全缺失。
此库基于Thomas Rueckstiess在mongodb-language-model仓库中之前的Node.js工作。它已从Node.js和PEGjs迁移到Rust和pest.rs。
用法
模块公开了一个函数 parse(query: &str) -> Result<Expression, Error<Rule>>
,它接受一个Mongo JSON查询字符串并返回解析后的AST结构。
lib.rs
:
mongodb-language-model
是一个库,使用 pest.rs 解析MongoDB语言并返回抽象语法树。
示例
use mongodb_language_model::*;
let input = r#"{ "$or": [ { "status": "A" }, { "qty": { "$lt": 30 } }] }"#;
let ast = parse(input).unwrap();
依赖项
~3–4.5MB
~87K SLoC