Поиск с различными nodejs параметрами - PullRequest
0 голосов
/ 23 февраля 2020

У меня есть приложение, и мне нужно выполнить поиск некоторых параметров, обязательных и других нет. С параметрами не обязательными.

Мне нужен безразличный поиск того, не являются ли эти два параметра обязательными или нет. или есть только один из двух обязательных.

var find = Teacher.find({
      'user': {
        "$in": onlines_clean
      },
      'teacher_del': true,
      'language': language,
      skill: {
        $in: [category]
      },
      'hour.hour_time': hora,
      $and: [{
        "hour.pricea": {
          $lte: price
        }
      }, {
        "hour.priceb": {
          $gte: price
        }
      }]
    })
  }

Пока все хорошо, проблема возникает, когда я хочу добавить еще два параметра, которые не являются обязательными

      expression: {
        $in: [speak]
      },
      'native': native

с помощью

     var native= native;
      if (req.params.native) {
     native= req.params.native;
  }

с

 conditions if - else 

ни один из этих способов не работает для меня, поскольку маршрут заставляет меня следовать этому правилу

/add/exit/:language/:category/:hora/:price/:native?/:speak?

Я должен передать собственный параметр и затем говорю, я не могу игнорировать собственный параметр

с req.query то же самое

Как я могу решить эту проблему?

1 Ответ

0 голосов
/ 23 февраля 2020

Если возможно, я бы изменил маршрут, чтобы вместо этого использовать параметры запроса GET, поскольку они не имеют порядка и могут быть пропущены без возникновения этой проблемы.

Если вы не можете изменить то, как выглядит путь, я предложите иметь специальное значение, которое не представляет значения, например, «null»:

/add/exit/:language/:category/:hora/:price/null/:speak?

Таким образом, вы будете искать эти значения в ваших if - else выражениях, чтобы решить, что делать.

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