# mongodb-plugin **Repository Path**: weirdor_admin/mongodb-plugin ## Basic Information - **Project Name**: mongodb-plugin - **Description**: mongodb 封装 crud - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-11-09 - **Last Updated**: 2025-07-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #[查询构造]说明文档 > Version 1.0 # Overview > 该文档为查询构造,主要介绍在各个【查询】api中查询参数query={...}projection={...}的指定方法。 > > **query**用于指定查询条件,参数的值是一个标准的json格式的字符串,如格式错误会收到400错误信息;所以请确保字符串的正确性(详情请参考json百度百科)。 > > **projection**用于指定查询的投影,可以指定哪些字段返回或者不返回。 > > # Architecture > 1. query说明 > 2. projection说明 通过query查询参数可以指定查询时的条件,值为json格式字符串,会经过解析器解析为mongodb可执行的查询语句; > 示例:`/api/api/article?query={"cateId":2}` 具体规则如下: 1.简单的值对比: { "field1":"xxx", "field2":30, "field3":true } 2.模糊查询(只对字符串有效) { "field":{ "like":true, //模糊标志 "value":"xxx" } } like为模糊标识,只对字符串有效,**默认为false**,当like=false时等效于【简单的值对比】: { "field":"xxx" } 3.比较 gt 大于 gte 大于等于 lt 小于 lte 小于等于 ne 不等于 eq 等于 ----------以上对数值、字符串有效 start 开始于 end 结束于 ----------start和end适用于日期范围查询,值为字符串,格式为"yyyy-MM-dd HH:mm:ss" 查询示例: { "field1":{ "gt":20, "lt":30 }, "field2":{ "ne":23 }, "field3":{ "ne":"你好" }, "field4":{ "start":"2017-01-04 00:00:00", "end":"2017-03-02 19:30:13" } } 下面查询等价: { "field":{ "eq":20 } } 等效于 { "field":20 } 4.查询条件逻辑组合:**and,or** 各查询条件**默认为and的关系**,即所有条件都满足才匹配;需要时可以显示指定组合逻辑; **and 和 or 可以相互嵌套** { "and":[ { "field1":"xxx" }, { "field1":{ "gt":20, "lt":30 }, "field2":{ "ne":23 } } ], "or":[ { "field":{ "like":true, "value":"xxx" } }, { "field3":{ "ne":"你好" } } ] } ### 2. projection说明 projection用于指定哪些字段返回或者不返回 若projection中既有0又有1, 则只处理1 格式为: > projection={"field1":1,"field2":1} 1指定返回 0指定不返回