我正在创建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");
});
答案 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");
}
}
});
让我知道这是否无效。