# COperator 实现MongoDB风格查询操作符的文档过滤库,提供灵活的条件匹配功能 ## 安装 ```bash # 确保已安装Go环境(1.23.1+) go get git.kingecg.top/kingecg/coperator ``` ## 核心功能 - **Document过滤**:通过`DocumentOperator`检查文档是否满足过滤条件 - **支持操作符**:`$gt`、`$ge`、`$lt`、`$le`、`$eq`、`$ne`、`$in`、`$nin`、`$and`、`$or`、`$nor` - **嵌套查询**:支持嵌套文档和数组的路径访问(`.`分隔路径) - **链式条件**:支持`$and`、`$or`等组合条件查询 ## 使用示例 ```go package main import ( "fmt" "git.kingecg.top/kingecg/coperator" ) func main() { // 创建测试文档 doc := &coperator.Document{ "name": "Alice", "age": 30, "address": map[string]interface{}{ "city": "Beijing", "zip": 100000, }, } // 定义过滤条件 filter := coperator.Filter{ "age": map[string]interface{}{ "$gt": 25, }, "address.city": "Beijing", } // 执行查询 result, err := coperator.DocumentOperator(doc, filter, "", nil) if err != nil { fmt.Println("Error:", err) return } fmt.Printf("Document matches filter: %v\n", result) // 输出: Document matches filter: true } ``` ## 测试 ```bash # 运行单元测试 go test -v ./... ``` ## 贡献 欢迎提交PR或Issue 1. Fork仓库 2. 创建新分支 3. 提交代码 4. 创建Pull Request ## 许可证 MIT License