如何在Mongoose中的所有模式中设置公共属性?
在我的项目中,我有多个mongoose模式。要求是在所有模式中添加新属性。我希望避免在所有模式中复制粘贴相同的内容。正在寻找替代方案如何在Mongoose中的所有模式中设置公共属性?,mongoose,Mongoose,在我的项目中,我有多个mongoose模式。要求是在所有模式中添加新属性。我希望避免在所有模式中复制粘贴相同的内容。正在寻找替代方案 感谢实现了上述要求,在整个架构中共享公共属性(扩展架构)。以下是步骤: 创建了具有所有公共属性的对象,例如 var baseProperty = { deleted : Boolean createdBy : String, updatedBy : String, createdAt : Date
感谢实现了上述要求,在整个架构中共享公共属性(扩展架构)。以下是步骤: 创建了具有所有公共属性的对象,例如
var baseProperty = {
deleted : Boolean
createdBy : String,
updatedBy : String,
createdAt : Date,
updatedAt : Date,
};
然后按以下方式在不同的模式中使用
/** SCHEMA 1 **/
var userSchema = new Schema({
name : String,
mobile : String,
email : String,
}, {});
userSchema.add(baseProperty); // Injecting common property in schema
mongoose.model("User", userSchema);
/** SCHEMA 2 **/
var addressSchema = new Schema({
city : String,
state : String,
country : String,
}, {});
addressSchema.add(baseProperty); // Injecting common property in schema
mongoose.model("Address", addressSchema);
现在,上面的模式已经准备好了用于CRUD操作的injected属性。mongoose版本am使用的是4.7.5,可能与忘记提及的版本重复