我有Mongoose架构如下:
createdOn: {
type: String,
//default: Date.now,
default: moment(new Date(Date.now())).format('MMM Do YY') //npm install moment --save # npm
},
updatedOn: {
type: String,
//default: Date.now
default: moment(new Date(Date.now())).format('MMM Do YY')
}
更新
将类型更改为String后,
我明白了:
2017年7月28日星期五14:43:40 GMT + 0530(IST)
如何删除时间和SMT。
我需要保留2017年7月28日星期五
我安装了节点js(http://momentjs.com/)
的Moment包上面的架构出了什么问题:
我得到了
MongooseError:对于值" 8月7日17"在路径" updatedOn"
消息:'对于价值" 8月7日17"在路径" updatedOn"', 名称:' CastError', stringValue:'" 8月7日17"', 善良:' date', 价值:' 8月7日17', 路径:' updatedOn', 理由:未定义}
答案 0 :(得分:1)
双重默认分配看起来不对。
default: default: moment(new Date(Date.now())).format('MMM Do YY')
作为一种更好的做法,您应该考虑使用UNIX时间戳而不是格式化日期字符串。时间戳将允许您轻松跟踪数据库中的统计信息。
所以你可以使用:
Date.now() // returns a UNIX timestamp
在moment.js中,UNIX时间戳:
moment().unix()
如果由于某种原因你需要字符串格式的时间戳,你可以随时做:
moment().unix() + ''