首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >蒙戈图式设计

蒙戈图式设计
EN

Stack Overflow用户
提问于 2011-09-16 06:39:43
回答 2查看 750关注 0票数 1

我对蒙戈很陌生。刚刚启动了一个使用Mongodb作为数据库的项目。我不知道该如何为文档基数据库设计以下用例。

用例

  1. 供应商/分销商在我们的系统上有一个产品列表。
  2. 每种产品都有一个标准的价目表供任何客户使用。
  3. 供应商/分销商还为每个客户定制了每个产品的价目表。 例如:CustA有一个与标准不同的价格的productA,它只提供给他。4.有些产品只有通过自定义价格才能获得,我将这些产品与属性public = false匹配。

我应该如何在文档库数据库中解决这个问题?

我现在的设计是。

  1. 产品文档与嵌入式文件的标准价格表。
  2. Product_Price Document with oneToMany link Product_Price oneToMany to Customer Document
  3. 客户文档

使用此模型,我将面临分页查询的问题。

例如,我查询按名称排序的前30种产品。然后使用匹配的30 ProductId查询Product_Price Document,以便为登录的客户提供自定义的价格。

问题出现的地方是,我无法查询自定义的项,这些项不是每个人都可以使用的。

是否有更好的方法或设计模式,或者我应该如何处理查询?

我用的是PHP,Doctrine2,Symfony2

EN

回答 2

Stack Overflow用户

发布于 2011-09-16 09:36:52

查询Product_Price_Document时,请同时使用ProductID和当前CustomerID查询它。还是我漏掉了什么?

票数 0
EN

Stack Overflow用户

发布于 2011-09-16 13:54:53

这是我如何构造它的。

有两个收藏品:-产品-供应商

您的产品表将列出您的所有产品及其标准价格。在特定产品的价格不同的情况下,您的供应商页面将有一个产品ID数组和一个覆盖价格。

如果您也在跟踪客户,那么您也可以将其作为一个集合,并且拥有一个几乎属于供应商的关系。

因此,简而言之:

代码语言:javascript
复制
collection.vendor:
 {"name":'foo',"products":[{"_id":mongoId,"priceOveride":15.50},..]}

collection.products:
 {"name":"bar","price":15.40}

更多地阅读您可以使用的关系的优秀资源:互动式学习蒙古语

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7441039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档