如何在Mongoose中的所有模式中设置公共属性?

如何在Mongoose中的所有模式中设置公共属性?,mongoose,Mongoose,在我的项目中,我有多个mongoose模式。要求是在所有模式中添加新属性。我希望避免在所有模式中复制粘贴相同的内容。正在寻找替代方案 感谢实现了上述要求,在整个架构中共享公共属性(扩展架构)。以下是步骤: 创建了具有所有公共属性的对象,例如 var baseProperty = { deleted : Boolean createdBy : String, updatedBy : String, createdAt : Date

在我的项目中,我有多个mongoose模式。要求是在所有模式中添加新属性。我希望避免在所有模式中复制粘贴相同的内容。正在寻找替代方案


感谢

实现了上述要求,在整个架构中共享公共属性(扩展架构)。以下是步骤:

创建了具有所有公共属性的对象,例如

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,可能与忘记提及的版本重复