req.params не работает в mongoose findOne - PullRequest
0 голосов
/ 12 октября 2018

У меня есть эта функция, которая передает параметр

fetchprofile() {

    let uri = "http://localhost:4000/data/username/" + this.tintin;
    this.axios.post(uri).then(response => {

    this.fname = response.data.fname;
    this.lname = response.data.lname;

     });

    }

И это маршрут:

adnmastroutes.route('/username/:usertin').post(function (req, res) {
console.log('TIN No. of user is:' + req.params.usertin);

adnmastmainmodel.findOne({tin: req.params.usertin}, function (err, user) {

if (err) {
  console.log(err);
}
else {

  console.log(user);
  res.json(user);
} }); });

Теперь в строке

console.log('TIN No. of user is:' + req.params.usertin);

переданоПараметр req.params.usertin имеет значение.НО ПОЧЕМУ ЭТО В ЛИНИИ

adnmastmainmodel.findOne({tin: req.params.usertin}, function (err, user) {

переданный параметр req.params.usertin не имеет значения.

(строка: adnmastmainmodel.findOne ({tin: req.params.usertin)}, function (err, user) {возвращает нулевой ответ. Но когда я изменил его следующим образом: adnmastmainmodel.findOne ({tin: '012349876'}, function (err, user) {возвращает желаемый ответ.)

ПОЖАЛУЙСТА, ПОМОГИТЕ, КАК ЭТО РАЗРЕШИТЬ?

ps Значение параметра this.tintin получено из sessionStorage.getItem

1 Ответ

0 голосов
/ 12 октября 2018

Убедитесь, что параметр является строкой, используя функцию toString ()

adnmastmainmodel.findOne({tin: req.params.usertin.toString() }, function (err, user)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...