在mongoose架构中,可以通过使用默认值来为数组中的嵌套对象设置默认值。默认值可以在定义模式时设置,也可以在创建文档时设置。
在定义模式时设置默认值,可以使用default
关键字。例如,假设我们有一个包含嵌套对象的数组字段nestedArray
,我们可以为其设置默认值如下:
const mongoose = require('mongoose');
const schema = new mongoose.Schema({
nestedArray: {
type: [{
nestedField: {
type: String,
default: 'default value'
}
}],
default: []
}
});
const Model = mongoose.model('Model', schema);
在上面的例子中,nestedArray
字段是一个包含嵌套对象的数组。每个嵌套对象都有一个nestedField
字段,其类型为字符串。我们为nestedField
字段设置了默认值为'default value'
。同时,我们还为nestedArray
字段设置了默认值为一个空数组[]
。
这样,在创建文档时,如果没有为nestedArray
字段提供值,它将自动使用默认值。
const doc = new Model();
console.log(doc.nestedArray); // 输出: []
如果我们为nestedArray
字段提供了值,它将覆盖默认值。
const doc = new Model({ nestedArray: [{ nestedField: 'custom value' }] });
console.log(doc.nestedArray); // 输出: [{ nestedField: 'custom value' }]
总结一下,为mongoose架构中数组中的嵌套对象设置默认值,可以在定义模式时使用default
关键字来设置默认值。
领取专属 10元无门槛券
手把手带您无忧上云