我不认为文档结构真的是这里的问题。让我们从不同的角度来看这个。把它想象成一个会计分类账。
line #, Date, Description, Count, Price each
1, 02/25/2013, Super widgets, 1000, $1 // <-- Strike though font
2, 02/25/2013, Super Widgets, 5000, $0.50 // <-- Strike though font
3, 02/26/2013, Super widgets 3500, $0.75
最后一行#3,是当前的计数。通过查看日期,您可以看到保留的内容和未保留的内容。“交易”的演变很像您的帐户对帐单,只需将行记录项目更改添加到交易中,并“删除”未保留的那些(不要删除它们,只需将它们标记为非活动状态)。
我认为你有 3 个收藏:
- 经销商 - 公司
- 交易(经销商与您之间)
交易存档(旧东西)
{ _id: mongoid, company_id: integer, ... 其他字段... transaction_log: [ { active: boolean, id: integer, date: datetime, description: text, count: integer, price: float?/integer? }, { active: boolean, id: integer, date: datetime, description: text, count: integer, price: float?/integer? }, { active: boolean, id: integer, date: datetime, description: text, count: integer, price: float?/integer? }, { active: boolean, id: integer, date: datetime, description: text, count: integer, price: float?/integer? }, ... ] }