diff --git a/src/utils/filter/getFilter.ts b/src/utils/filter/getFilter.ts index 552ee523b..59e996df7 100644 --- a/src/utils/filter/getFilter.ts +++ b/src/utils/filter/getFilter.ts @@ -268,6 +268,32 @@ const buildMongoFilter = (filter: any, fields: any[]): any => { return { [fieldName]: { $exists: true, $ne: '' } }; } } + // case 'in': { + // value = Array.isArray(value) ? value : [value]; + // return { + // $or: [ + // { [fieldName]: { $in: value } }, + // { + // [fieldName]: { + // $in: value.map((x) => new mongoose.Types.ObjectId(x)), + // }, + // }, + // ], + // }; + // } + // case 'notin': { + // value = Array.isArray(value) ? value : [value]; + // return { + // $or: [ + // { [fieldName]: { $nin: value } }, + // { + // [fieldName]: { + // $nin: value.map((x) => new mongoose.Types.ObjectId(x)), + // }, + // }, + // ], + // }; + // } default: { return; } diff --git a/src/utils/schema/resolvers/Query/getFilter.ts b/src/utils/schema/resolvers/Query/getFilter.ts index cd96dd639..22a4f3549 100644 --- a/src/utils/schema/resolvers/Query/getFilter.ts +++ b/src/utils/schema/resolvers/Query/getFilter.ts @@ -428,16 +428,23 @@ const buildMongoFilter = ( } } case 'in': { - if (isAttributeFilter) + if (isAttributeFilter) { return { [fieldName]: { $regex: attrValue, $options: 'i' }, }; + } else { + value = Array.isArray(value) ? value : [value]; + return { [fieldName]: { $in: value } }; + } } case 'notin': { if (isAttributeFilter) { return { [fieldName]: { $not: { $regex: attrValue, $options: 'i' } }, }; + } else { + value = Array.isArray(value) ? value : [value]; + return { [fieldName]: { $nin: value } }; } } case 'isempty': {