我为猫鼬建立了一个模型,并在我的模型中添加了一个生日字段,例如:
birthdate: {
type: Date,
required: [true, "Please enter a birthdate"],
lowercase: true,
validate: [isDate, "Please enter a valid birthdate"],
}
但是当我使用生日字段将实例保存到我的数据库时:
"birthdate": "1998/04/01"
Mongoose 将其保存到 mongoDB 中,例如:
1998-03-31T21:00:00.000+00:00
日期有误吗?还有如何将正确的日期保存到我的数据库中?
答案 0 :(得分:1)
问题不在于猫鼬。 This question 有足够的信息来解决您的问题。尝试用连字符替换斜线,因为大多数接受的格式是 YYYY-MM-DD。
答案 1 :(得分:0)
你可以查看这个documentation关于猫鼬日期的类型
更改日期格式并保存您的数据
var moment = require('moment-timezone');
var date = "1998/04/01"
var birthdate= moment(date , "YYYY/MM/DD").toDate();
对象 1 基于我的解决方案。
未转换的对象 2
/* 1 */
{
"_id" : ObjectId("5ff9edc5373396410c493a62"),
"birthdate" : ISODate("1998-04-01T00:00:00.000Z"),
"date" : ISODate("2021-01-09T17:54:13.685Z"),
"__v" : 0
}
/* 2 */
{
"_id" : ObjectId("5ff9ee2ce1357a3b546d8573"),
"birthdate" : ISODate("1998-03-31T19:30:00.000Z"),
"date" : ISODate("2021-01-09T17:55:56.677Z"),
"__v" : 0
}