在MongoDB中,可以使用嵌套文档的方式创建子文档数组。要设置子文档数组的默认值,可以在定义schema时使用默认值操作符。
以下是设置子文档数组默认值的步骤:
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const parentSchema = new Schema({
children: {
type: [{
name: {
type: String,
default: 'Default Name' // 设置子文档的默认名称
},
age: {
type: Number,
default: 0 // 设置子文档的默认年龄
}
}],
default: [] // 设置子文档数组的默认值为空数组
}
});
const ParentModel = mongoose.model('Parent', parentSchema);
在上面的例子中,我们定义了一个名为parentSchema
的schema,其中包含一个名为children
的子文档数组。子文档数组中的每个子文档都有一个名为name
和age
的字段。name
字段的默认值设置为"Default Name",age
字段的默认值设置为0。子文档数组本身的默认值设置为空数组。
ParentModel
变量中。现在,当你创建一个新的父文档时,子文档数组将具有默认的值。例如:
const parent = new ParentModel();
console.log(parent.children); // 输出: []
在上面的例子中,我们创建了一个新的父文档,并打印了子文档数组。由于我们在schema中设置了子文档数组的默认值为空数组,所以输出结果为[]
。
这是设置MongoDB子文档数组默认值的方法。请注意,这只是其中一种实现方式,你可以根据自己的需求进行调整。
领取专属 10元无门槛券
手把手带您无忧上云