我不知道为什么当我通过邮递员到达api端点时,这个猫鼬findOne
总是返回null
的原因。
exports.updateUserPassword = async(req,res) =>{
const user = await User.findOne({
resetPasswordExpires:{ $gt:Date.now() },
resetPasswordToken:req.params.token
})
if(!user){
res.json({"msg":"Password is invalid or has been expired"})
}
}
在终端上输入console.log时,我得到了
{
_id: 5e4553309d0e232a60gc8b6a,
userName: 'Dan_rey',
userType: 'Group',
email: 'dan123@gmail.com',
password: '$2b$10$lq6BYYckKkOtY.as.EILMe7a.njPyBrHauxMlFfianxmSwdmiAT12',
date: 2019-12-29T19:49:04.608Z,
__v: 0,
resetPasswordExpires: 2019-12-30T19:04:05.874Z,
resetPasswordToken: '65bc534656b321907c5af968b13d0a44f41de73b'
}
但是当我使用猫鼬findOne时,我只想要这两个 1)resetPasswordExpires, 2)resetPasswordToken
非常感谢您的帮助。
答案 0 :(得分:0)
这可能是由于Date.now()返回日期的纪元格式,但您存储的格式不同。 Mongo无法找到具有这种条件的任何文档,因此它返回零结果。 要获取ISO格式的日期,请使用 new Date()代替 Date.now()。
为了验证这一点- 您可以将以下文档作为以下正文的insertOne插入mongodb中:
@Html.DropDownListFor(m => m.FlightDetails.AirlineId, ViewBag.AirlineList as SelectList, "--Select--", new { @class = "form-control selectpicker", @data_live_search = "true", @id = flight.Id + "AirlineId" })
点击以下链接了解更多详细信息- https://docs.mongodb.com/manual/reference/method/Date/