[英]Mongoose default value if not exist in find
我们向一个模式添加了一个新字段:
第一版:
// Schema Definition Collection
const ImageSchema = new Schema({
IdUser: String,
Name: String,
Source: String
}
}, { collection: 'Image' });
const Image = mongoose.model('Image', ImageSchema);
module.exports = Image;
新版本:
// Schema Definition Collection
const ImageSchema = new Schema({
IdUser: String,
Name: String,
Source: String,
Size: String
}
}, { collection: 'Image' });
const Image = mongoose.model('Image', ImageSchema);
module.exports = Image;
稍后,在带有Express的Api中,我们将返回如下模式:
exports.getImageById = co(function* (req, res) {
const image = yield Image.findById(req.params.id).exec();
res.json(image);
});
在我完成的jQuery ajax回调中,有时我在Size字段中未定义,但是我想让其他值(例如0kb)是空的(未填充)。 这可能吗? 还是我需要检查Size字段typeof是否不同于“ undefined”?
谢谢!
您可以在“ Size
字段中添加默认值:
const ImageSchema = new Schema({
IdUser: String,
Name: String,
Source: {type: String, default: '0kb'}
}
}, { collection: 'Image' });
这样,所有添加的没有大小的新文档都将具有此默认值。 对于已经存在的数据库,您可以更新数据库。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.