【发布时间】:2015-05-25 03:17:56
【问题描述】:
我正在尝试将 star_info 属性设置为对象类型(混合架构)并将其默认值设置为空对象使用
star_info: { type : Schema.Types.Mixed, default : { }}
在数据库中,保存文档时没有字段star_info。如何让mongoose设置默认值?
【问题讨论】:
标签: mongoose
我正在尝试将 star_info 属性设置为对象类型(混合架构)并将其默认值设置为空对象使用
star_info: { type : Schema.Types.Mixed, default : { }}
在数据库中,保存文档时没有字段star_info。如何让mongoose设置默认值?
【问题讨论】:
标签: mongoose
默认情况下(为了尽量减少存储在 MongoDB 中的数据),Mongoose 不会将空对象保存到您的数据库中。您可以通过在创建架构时将minimize 标志设置为false 来覆盖此行为。例如:
const schema = new Schema({
star_info: { type: Schema.Types.Mixed, default: {} }
}, { minimize: false })
现在star_info 将默认为一个空对象并保存到数据库中。
【讨论】:
Can't customize discriminator option minimize (can only modify toJSON, toObject, _id, id)
如果您不介意从数据库中省略空对象,但希望它们出现在 JSON 中,只需使用 obj.toJSON({minimize: false})
【讨论】: