我对 Mongo 很陌生。刚开始一个项目,使用MongoDB作为数据库。我不确定我应该如何将以下用例设计为文档库数据库。
用户案例
1. 供应商/分销商在我们的系统上有一个产品列表。
2. 每个客户都有一个标准的价格表。
3.供应商/分销商还为每个客户定制了每种产品的价格表。
例如。CustA 有一个产品 A,其定价与标准不同,并且仅供他使用。4. 部分商品只能通过customize price 获得,我匹配那些带有public = false 属性的商品。
我应该如何在文档库数据库中解决这个问题?
我目前的设计是。
1.【产品文档】内嵌标准价目表文档。
2. [ Product_Price Document ] 带有 oneToMany 链接 [ Product Document ] 和 oneToMany 到 [ Customer Document ]
3. [ Customer Document ]。
使用此模型,我面临分页查询的问题。
示例我查询按名称排序的前 30 个产品。然后用匹配的 30 个 ProductId 查询 [ Product_Price Document ],这样我就可以为登录的那个客户定制价格。
问题来自我无法查询为用户定制的项目,这些项目并非对所有人都可用。
有没有更好的方法或设计架构或我应该如何处理查询?
我正在使用 PHP、Doctrine2、Symfony2