【发布时间】:2020-08-26 14:53:30
【问题描述】:
假设我有一个像这样的猫鼬模式:-
var mSchema = new Schema({
name: { type: String, required: true}
});
并且已经使用这个模式一年了,现在我想像这样添加性别:-
var mSchema = new Schema({
name: { type: String, required: true},
gender: { type: String, default: 'Male' }
});
每当有更新请求时,我希望此性别自动将男性设置为默认值,但我发现默认值不会在更新请求中设置。 (注意:这只是一个例子,不是现实生活中的场景。如果字段不存在或为空,我只想要猫鼬默认工作)
有什么方法可以在更新文档时设置默认值?
【问题讨论】:
-
一个可能的解决方案是,每当您添加具有默认值的新字段时,运行 updateMany 查询以使用默认值初始化该字段。
标签: mongodb mongoose updates mongoose-schema auto-update