Node.js 可能未处理的CastError:value“的Cast-to-date失败;Mongoose上的函数now(){[native code]}

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格式化响应,但警告仍然出现在终端上

运行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格式化响应,但警告仍然出现在终端上


非常感谢您的帮助。

旧问题,但正如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()