用猫鼬验证expressj中的OTP

时间:2018-07-30 06:14:54

标签: javascript node.js mongodb express mongoose

我正在创建Web服务并尝试验证otp,但在控制台日志后使用户空白,这是我的错误所在。这是我的代码。

app.post('/verify', function(req, res, next) {
  mongoose.connect('mongodb://localhost:27017/cuts');
  var db = mongoose.connection;
  var PwdSchema = mongoose.Schema({
    phone: {
      type: Number,
      required: true
    },
    otp: {
      type: String,
      required: true,

    }

  });

  User = mongoose.model('usersotp', PwdSchema);
  User.findOne({
    phone: req.body.phone
  }, function(err, user) {
    console.log(user);
    if (err) {
      console.log(err);
    } else {

      if (user) {
        console.log(user);
      } else {
        console.log("no data found");
      }
    }

  });
  res.send("Any text");
});  

1 个答案:

答案 0 :(得分:0)

可能是您正在忙碌的地方:

您的型号需要手机的数字类型,您正在发送字符串,这就是为什么它不匹配的原因。

const inputPhone = typeof req.body.phone === "string" ? parseInt(req.body.phone) : req.body.phone;
User.findOne({ phone: inputPhone }, function (err, user) {
    console.log(user);
    if (err) {
        console.log(err);
    }
    else {
        if (user) {
            console.log(user);
        }
        else {
            console.log("no data found");
        }
    }
});

让我知道这是否无效。