我正在尝试将star_info
属性设置为对象类型(Mixed Schema)并使用
star_info: { type : Schema.Types.Mixed, default : { }}
在数据库中,保存文档时没有字段star_info
。如何让mongoose
设置默认值?
答案 0 :(得分:63)
默认情况下(为了最小化MongoDB中存储的数据),Mongoose不会将空对象保存到数据库中。您可以通过在创建架构时将minimize
标志设置为false
来覆盖此行为。例如:
const schema = new Schema({
star_info: { type: Schema.Types.Mixed, default: {} }
}, { minimize: false })
现在star_info
将默认为空对象并保存到数据库。
答案 1 :(得分:1)
如果您不介意从数据库中忽略空对象,但希望在JSON中使用它们,则只需使用obj.toJSON({minimize: false})