当属性为空时,可以通过设置mongoose模式中的default
属性来触发默认值。default
属性可以设置为一个具体的值或者一个函数。如果设置为一个具体的值,当属性为空时,该值将被作为默认值。如果设置为一个函数,当属性为空时,该函数将被调用并返回一个默认值。
以下是一个示例:
const mongoose = require('mongoose');
const schema = new mongoose.Schema({
name: {
type: String,
default: 'John Doe' // 当name属性为空时,默认值为'John Doe'
},
age: {
type: Number,
default: function() {
return Math.floor(Math.random() * 100); // 当age属性为空时,默认值为一个随机数
}
}
});
const Model = mongoose.model('Model', schema);
const doc = new Model({});
console.log(doc.name); // 输出: 'John Doe'
console.log(doc.age); // 输出: 一个随机数
在上述示例中,当创建一个新的Model
实例时,如果name
属性为空,它将被设置为默认值'John Doe'。如果age
属性为空,它将通过调用函数Math.floor(Math.random() * 100)
来生成一个随机数作为默认值。
推荐的腾讯云相关产品:腾讯云数据库MongoDB,产品介绍链接地址:https://cloud.tencent.com/product/mongodb
领取专属 10元无门槛券
手把手带您无忧上云