Node.js 如何使用mongoose nodejs在mongdb中以dd/mm/yy格式从at保存日期
我喜欢在每次请求时将当前日期保存到db中,但我得到的时间戳为Node.js 如何使用mongoose nodejs在mongdb中以dd/mm/yy格式从at保存日期,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我喜欢在每次请求时将当前日期保存到db中,但我得到的时间戳为ISODate(“2020-01-31T10:20:46.000Z”)我只想将31-01-2020保存到db中以实现某些功能。我该怎么做 可以先将字段类型设置为字符串。然后创建该字符串(比如,使用momentjs)并保存它 // Schema { ... timestamp: String, ... } // Code cons timestamp = moment(date).format('MM-DD-YYYY')
ISODate(“2020-01-31T10:20:46.000Z”)
我只想将31-01-2020保存到db中以实现某些功能。我该怎么做 可以先将字段类型设置为字符串。然后创建该字符串(比如,使用momentjs
)并保存它
// Schema
{
...
timestamp: String,
...
}
// Code
cons timestamp = moment(date).format('MM-DD-YYYY');
// now save it...
一个更好的解决方案是OP建议的,使用save
hook。提供的时间戳
字段类型为字符串
:
const moment = require('moment');
// ...
mySchema.pre('save', function(next) {
this.timestamp = moment(this.timestamp).format('MM-DD-YYYY');
next();
});
newTaskShema.pre('save',function(next){this.timestamp=moment(date).format('MM-DD-yyyyy');next();})我试过这样做,但不起作用。如果moment未定义,您是否按照我的建议将字段类型设置为string?另外,您是否有可能忘记在钩子的末尾调用
next()
?您必须定义moment,这意味着通过npm install moment
首先安装它,并且在您的代码中const moment=require('moment'))
让我检查一下。我认为它是一个类似日期的函数。现在将其替换为this.timestamp
。您应该将日期值存储为适当的日期对象,而不是字符串。这将为您的将来节省很多麻烦,例如,使用Date
对象比使用字符串更容易排序、操作和输出格式。