【问题标题】:Mongoose dynamic schema fieldMongoose 动态模式字段
【发布时间】:2017-07-10 09:59:49
【问题描述】:

我需要使用 mogoose 开发一个模型,该模型的字段将保存我的对象属性。我的问题是这些属性是完全可变的,例如:

StockItem1 : {
    sku: 23492349,
    class: 'computer',
    subclass: 'printer',
    name: 'Hp Laserjet XXX',
    qty: 120,
    attr: {
        laser: true,
        speed: 1200,
        color: white
    }
}

StockItem2 : {
    sku: 22342349,
    class: 'homeappliance',
    subclass: 'refrigerator',
    name: 'GE Refrigerator',
    qty: 23,
    attr: {
        stainlessstell: true,
        doors: 2,
        frostfree: true
    }
}

attr 属性字段完全不同,具体取决于它所属的class/subclass 类型。

应该为 mongoose 中的 attr 字段赋予什么类型?我需要在未来过滤这些,比如获取所有 attr.doors == 2 的位置。

感谢您的帮助。

【问题讨论】:

  • Mixed ?
  • 如果他们实际上是“依赖”,那么你应该使用"discriminators",这也有助于你的“课堂”作业。

标签: javascript node.js mongodb mongoose


【解决方案1】:

使用混合架构类型。这是docs。 Mixed SchemaTypes 是一种“随心所欲”的交易类型。您可以灵活地定义数据,但这会使您的数据集更难维护。

【讨论】:

    猜你喜欢
    • 2017-10-22
    • 2014-03-09
    • 2021-09-06
    • 2016-06-14
    • 2016-11-27
    • 2013-11-02
    • 2018-02-07
    • 1970-01-01
    • 2021-07-21
    相关资源
    最近更新 更多