背景信息
我正在建立从RDBMS数据库到MongoDB的转换的原型。在进行非规范化时,似乎我有两种选择,一种选择导致许多(数百万)个较小的文档,另一种选择导致较少的(数十万个)大型文档。
如果我可以将其简化为一个简单的类比,那将是具有这样的更少Customer文档的集合之间的区别(在Java中):
客户类别{ 私有字符串名称; 私人地址; //每个信用卡都有数百个付款实例 私人Set <CreditCard>信用卡; }
或具有许多付款文件的集合,例如:
类别付款{ 私人客户客户; 私人CreditCard信用卡; 私人Date payDate; 私人浮动工资 }
问题
MongoDB是设计为首选许多文档还是更少的大型文档?答案是否主要取决于我计划运行的查询?(即,客户X有多少张信用卡?vs所有客户上个月平均支付的金额是多少?)
我到处走走了很多,但是我没有发现任何可帮助我回答问题的MongoDB模式最佳实践。