瀏覽代碼

修改bug,objectId不模糊查询

lrf 3 年之前
父節點
當前提交
66c9781646
共有 2 個文件被更改,包括 9 次插入5 次删除
  1. 8 4
      lib/service/crud-service.js
  2. 1 1
      package.json

+ 8 - 4
lib/service/crud-service.js

@@ -68,7 +68,7 @@ class CrudService extends NafService {
         .map((f) => ({ [f]: desc ? -1 : 1 }))
         .reduce((p, c) => ({ ...p, ...c }), {});
     }
-    filter = this.turnFilter(this.turnDateRangeQuery(filter));
+    filter = this.dealFilter(filter);
     const rs = await this.model
       .find(trimData(filter), projection, { skip, limit, sort })
       .exec();
@@ -76,19 +76,23 @@ class CrudService extends NafService {
   }
 
   async count(filter) {
-    filter = this.turnFilter(this.turnDateRangeQuery(filter));
+    filter = this.dealFilter(filter);
     const res = await this.model.countDocuments(trimData(filter)).exec();
     return res;
   }
 
   async queryAndCount(filter, options) {
-    filter = this.turnFilter(this.turnDateRangeQuery(filter));
+    filter = this.dealFilter(filter);
     const total = await this.count(filter);
     if (total === 0) return { total, data: [] };
     const rs = await this.query(filter, options);
     return { total, data: rs };
   }
 
+  dealFilter(filter) {
+    return this.turnFilter(this.turnDateRangeQuery(filter));
+  }
+
   turnFilter(filter) {
     let str = /^%\S*%$/;
     let keys = Object.keys(filter);
@@ -96,7 +100,7 @@ class CrudService extends NafService {
       let res = key.match(str);
       if (res) {
         let newKey = key.slice(1, key.length - 1);
-        filter[newKey] = new RegExp(filter[key]);
+        if(!ObjectId.isValid(filter[key])) filter[newKey] = new RegExp(filter[key]);
         delete filter[key];
       }
     }

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "naf-framework-mongoose-free",
-  "version": "0.0.2",
+  "version": "0.0.3",
   "description": "naf egg framework use mongoose - free version",
   "dependencies": {
     "axios": "^0.19.0",