я борюсь с фильтрацией запросов в mongodb. мне нужны данные, чтобы не совпадать с любым objectId, который может существовать. я попробовал методы ниже для строковых данных, и работает, за исключением objectId (th ie путь ksiGroup является ObjectId в типе)
фильтр
filters = {
date: args.filters.status ? dateFilter : { $ne: '' },
type: args.filters.type ? args.filters.type : { $ne: '' },
ksiGroup: args.filters.ksiGroup ? args.filters.ksiGroup : { $ne: '' },
};
модель
const EventSchema = new Schema({
type: { type: String, required: true },
attendees: [
{
type: Schema.Types.ObjectId,
ref: 'User',
default: [],
},
],
title: { type: String, required: true },
date: { type: String, required: true },
startTime: { type: String, required: true },
endTime: { type: String, required: true },
image: { type: String },
status: { type: String },
place: { type: String, required: true },
point: { type: Number, required: true },
ksiGroup: { type: Schema.Types.ObjectId, ref: 'KSI' },
},{ timestamps: true });
код проверяет, установлен ли фильтр для определенного пути или нет. если фильтр не существует, он просто возвращает { $ne: '' }
, который вернет все, что не было пустым. Как я могу добиться этого для ksiGroup
, который является ObjectId в типе?