Могу ли я добавить способ проверить, содержит ли моя функция find () параметр и возвращаемые документы только с конкретным полем? - PullRequest
0 голосов
/ 22 марта 2019

Я хотел бы знать, есть ли способ проверить в функции list_all, есть ли параметр, и только потом проверять и возвращать документы, имеющие поле с запрошенным параметром.

Это код моего контроллера:

exports.list_all = function(req, res) {
  Employees.find(function(err, list) {
    if (!err) {
      res.send(list);
    } else {
      res.send(err);
    }
  });
};

Это моя конечная точка:

  app.route("/employeesByStore/:storeId")
    .get(Employees.list_all);
};

Заранее спасибо.

ОБНОВЛЕНИЕ:

Я наконец применил фильтр следующим образом:

exports.list_all = function(req, res) {
  Employees.find({"storeId":req.params.storeId},function(err, list) {
    if (!err) {
      res.send(list);
    } else {
      res.send(err);
    }
  });
}

1 Ответ

0 голосов
/ 22 марта 2019

Вы можете попробовать что-то вроде этого:

exports.list_all = function(req, res) {
  if(Object.keys(req.params).length === 0) {
    // no params passed, do something
    return;
  }
  // a param is passed, let's query
  Employees.find(req.params, function(err, list) {
    if (!err) {
      res.send(list);
    } else {
      res.send(err);
    }
  });
};

req.params будет содержать что-то вроде {storeId: "1234"}

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