Node.js 可能未处理的CastError:value“的Cast-to-date失败;Mongoose上的函数now(){[native code]}
运行Express应用程序时出现以下错误 可能未处理的CastError:value“函数的强制转换到日期失败 现在(){[本机代码]} 日期字段在模型上定义为:Node.js 可能未处理的CastError:value“的Cast-to-date失败;Mongoose上的函数now(){[native code]},node.js,mongodb,datetime,express,mongoose,Node.js,Mongodb,Datetime,Express,Mongoose,运行Express应用程序时出现以下错误 可能未处理的CastError:value“函数的强制转换到日期失败 现在(){[本机代码]} 日期字段在模型上定义为: updated: { type: Date, default: Date.now } 因此,我正在记录响应,字段采用这种格式 updated: Thu May 21 2015 16:21:32 GMT-0300 (ART) 实际上我们使用的是猫鼬V3.4.0 我还尝试使用Moment.js格式化响应,但警告仍然出现在终端上
updated: {
type: Date,
default: Date.now
}
因此,我正在记录响应,字段采用这种格式
updated: Thu May 21 2015 16:21:32 GMT-0300 (ART)
实际上我们使用的是猫鼬V3.4.0
我还尝试使用Moment.js格式化响应,但警告仍然出现在终端上
非常感谢您的帮助。旧问题,但正如Ken提到的,要创建或更新模式/模型,请提供日期值
sendHelpDate:Date.now()
这将保存到数据库中,作为“sendHelpDate”:ISODate(“2018-06-27T10:49:29.328+0000”),
与传递Date.now函数相反,请参见以下内容:
message: 'Cast to Date failed for value "[Function: now]" at
path "sendHelpDate"',
name: 'CastError',
stringValue: '"[Function: now]"',
kind: 'Date',
value: [Function: now],
path: 'sendHelpDate',
reason: [Object]
_message: 'Bookings validation failed',
name: 'ValidationError' }
希望额外的细节能对将来的人有所帮助听起来好像字符串
函数now(){[native code]}
以某种方式出现在您的数据库(或模型实例)中,Mongoose正试图将该字符串转换为Date
实例(但失败了)。请尝试Date.now()
看起来文档有误。我也使用了Date.now,但正如@ken所建议的,它是Date.now()