Bläddra i källkod

修改查询,数组变为{$in:value}以便聚合查询

lrf 3 år sedan
förälder
incheckning
1aa75630b7
1 ändrade filer med 8 tillägg och 1 borttagningar
  1. 8 1
      lib/service/crud-service.js

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

@@ -121,7 +121,7 @@ class CrudService extends NafService {
 
   turnFilter(filter) {
     const str = /^%\S*%$/;
-    const keys = Object.keys(filter);
+    let keys = Object.keys(filter);
     for (const key of keys) {
       const res = key.match(str);
       if (res) {
@@ -130,6 +130,13 @@ class CrudService extends NafService {
         delete filter[key];
       }
     }
+    // 再次过滤数据,将数组的数据都变成{$in:value},因为查询变成了聚合查询
+    keys = Object.keys(filter);
+    for (const key of keys) {
+      if (isArray(filter[key])) {
+        filter[key] = { $in: filter[key] };
+      }
+    }
     return filter;
   }