【问题标题】:Should I use mongoose if the schema is too dynamic?如果架构过于动态,我应该使用猫鼬吗?
【发布时间】:2015-08-18 14:46:33
【问题描述】:

到目前为止我所理解的是,猫鼬需要我们定义一个模式。但是,如果我的架构在每个用户的基础上不断变化怎么办。例如,假设有成千上万的手机用户。每个用户都有不同类型的优惠订阅和什么不是。新优惠不断涌现,他甚至可以选择优惠组合,即时创建新优惠。因此,这些报价成为保存有关该报价的各种其他详细信息的子文档的关键。无法预定义这样的模式。那我应该用猫鼬吗?还是坚持使用 mongojs 类型的薄皮包装器而忘记 mongoose 的 ODM 功能?

【问题讨论】:

    标签: node.js mongodb mongoose mongojs


    【解决方案1】:

    您可以创建一个混合类型架构,其中对您可以存储的数据类型没有任何限制。然而,这是一个权衡。查看official documentation 了解信息和实施细节。

    【讨论】:

      【解决方案2】:

      来自 Mongoose 文档:

      注意:在您的架构中不存在的实例上设置的任何键/值始终被忽略,无论架构选项如何。

      您可以在创建模型实例时设置该值:

      var task = new Task({'otherKey', 'some value'});
      

      您也可以将临时值置于混合子文档类型下。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-07-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-30
        • 2015-05-03
        • 2012-10-30
        • 2013-06-10
        相关资源
        最近更新 更多