每次更新猫鼬模式中的日期
Posted
技术标签:
【中文标题】每次更新猫鼬模式中的日期【英文标题】:Update date inside mongoose schema every time 【发布时间】:2020-05-03 01:03:40 【问题描述】:每次更新[messageSchema]
时,我都会尝试更新lastMessageAt
。
这种方式是行不通的。 I 当 messageSchema 填充它的第一个对象时生成的唯一日期。
我该如何解决?
提前致谢!
const chatSchema = new mongoose.Schema(
userName1: String,
userName2: String,
messages: [messageSchema],
lastMessageAt:
type: Date,
default: Date.now
);
【问题讨论】:
【参考方案1】:您可以使用 mongooses post 中间件。
chatSchema.post('save', function(next)
if (this.isModified('messages'))
this.lastMessageAt = Date.now();
next();
);
【讨论】:
感谢您的帮助,但这样做时我收到了一个错误的请求:-( 我刚刚发现猫鼬现在已经内置了时间戳。谢谢你,兄弟!! :-)【参考方案2】:发现猫鼬现在已经内置了时间戳,它们的使用方式如下:
const chatSchema = new mongoose.Schema(
userName1: String,
userName2: String,
messages: [messageSchema]
,
timestamps: true
);
【讨论】:
以上是关于每次更新猫鼬模式中的日期的主要内容,如果未能解决你的问题,请参考以下文章