Как отфильтровать ObjectId, который не будет ничего соответствовать в MongoDB? - PullRequest
0 голосов
/ 24 февраля 2020

я борюсь с фильтрацией запросов в 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 в типе?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...