2

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

4

2 回答 2

3

您可以创建一个混合类型架构,其中对您可以存储的数据类型没有限制。然而,这是一个权衡。查看官方文档以获取信息和实现细节。

于 2014-03-12T06:38:13.727 回答
0

来自猫鼬文档:

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

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

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

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

于 2015-08-18T06:46:33.823 回答