如何修复 Mongoose 中的 moment js 错误?
How do I fix this moment js bug in Mongoose?
我在 Mongoose 中创建了一个 posts
模型,它记录了用户创建的所有帖子。
const mongoose = require('mongoose');
const { Schema } = mongoose;
const moment = require('moment')
const postSchema = new Schema({
// Other fields in DB
timeCreated:{
type:String,
default: moment().valueOf()
}
});
const Posts = mongoose.model('Posts', postSchema);
module.exports = Posts
我遇到问题的代码的确切部分是这里的代码:
timeCreated:{
type:String,
default: moment().valueOf()
}
我正在使用 timeCreated
对象在前端进行时间计算。因此,当用户创建帖子时,数据库将指示这些帖子是同时创建的,即使创建的帖子相隔几个小时。
查看数据库快照(电子邮件和用户名是假的):
如果仔细观察,timeCreated
对象在所有 4 个帖子中都包含相同的字符串值,尽管这些帖子创建时间相隔数小时。
我的代码有问题吗,或者这是 Mongoose/Moment js 错误?
我在我的应用程序中遇到了类似的问题,我这样做是为了解决它。
我丢失了我的问题得到解决的 link。
timeCreated:{
type:String,
default: () => moment().valueOf()
}
PS:我认为你最好使用默认的 Javascript 日期而不是 moment
,因为他们自己要求切换到不同的选择。
Read here.
像这样。
timeCreated:{
type:String,
default: () => new Date()
}
我在 Mongoose 中创建了一个 posts
模型,它记录了用户创建的所有帖子。
const mongoose = require('mongoose');
const { Schema } = mongoose;
const moment = require('moment')
const postSchema = new Schema({
// Other fields in DB
timeCreated:{
type:String,
default: moment().valueOf()
}
});
const Posts = mongoose.model('Posts', postSchema);
module.exports = Posts
我遇到问题的代码的确切部分是这里的代码:
timeCreated:{
type:String,
default: moment().valueOf()
}
我正在使用 timeCreated
对象在前端进行时间计算。因此,当用户创建帖子时,数据库将指示这些帖子是同时创建的,即使创建的帖子相隔几个小时。
查看数据库快照(电子邮件和用户名是假的):
如果仔细观察,timeCreated
对象在所有 4 个帖子中都包含相同的字符串值,尽管这些帖子创建时间相隔数小时。
我的代码有问题吗,或者这是 Mongoose/Moment js 错误?
我在我的应用程序中遇到了类似的问题,我这样做是为了解决它。 我丢失了我的问题得到解决的 link。
timeCreated:{
type:String,
default: () => moment().valueOf()
}
PS:我认为你最好使用默认的 Javascript 日期而不是 moment
,因为他们自己要求切换到不同的选择。
Read here.
像这样。
timeCreated:{
type:String,
default: () => new Date()
}