【问题标题】:How to set common property across all schema in Mongoose?如何在 Mongoose 的所有模式中设置公共属性?
【发布时间】:2017-05-13 11:34:51
【问题描述】:

在我的项目中,我有多个猫鼬模式。要求是在所有模式中添加新属性。我想避免在所有模式中复制粘贴相同的东西。寻找替代方案。

谢谢

【问题讨论】:

标签: mongoose


【解决方案1】:

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

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

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 操作。

【讨论】:

  • 别提了,我用的mongoose版本是4.7.5
猜你喜欢
  • 2016-11-26
  • 2015-04-18
  • 1970-01-01
  • 1970-01-01
  • 2015-06-09
  • 1970-01-01
  • 1970-01-01
  • 2014-05-19
  • 2021-05-24
相关资源
最近更新 更多