【问题标题】:MongoDB - MANY documents or MANY collectionsMongoDB - 许多文档或许多集合
【发布时间】:2020-09-16 20:23:40
【问题描述】:

我目前正在开发一项存储多个商店拥有的产品的服务,并且我正在尝试找出构建数据库的最佳方式。唯一的问题是产品来自不同的领域,例如衣服、玩具、电子产品,并且由不同的卖家销售。

想到的第一个想法是为每个卖家设置不同的集合,但我认为这是一个令人头疼的问题,必须管理不同的数据库连接。

将所有产品存储在同一个文档中的想法对我来说似乎很糟糕,因为它们来自不同的域。

我认为在这种情况下唯一可行的想法是这样的: 假设我们有 3 家商店:商店一、商店二、商店三。我会像这样为每个商店创建一个文档:products_storeoneproducts_storetwoproducts_storethree 并根据每个商店的标识符访问它们。现在,每个商店将有多个文档来存储不同的内容,例如 products_identifierusers_identifierorders_identifier

您认为这是个好主意吗? 请告诉我您对实现为每个商店独立存储物品而不混合它们的结构的最佳方法的看法。

经过一些计算,每个商店最多有 50 个文档。我不认为这是处理 1.000 家商店的方式。您认为 50.000 个文档太多了吗?影响性能? 任何关于实现高性能查询的提示都非常受欢迎。

谢谢!

【问题讨论】:

    标签: mongodb


    【解决方案1】:

    您可以创建一个数据库“产品”,它将是一个对象数组,每个对象都是一个产品。每个产品都有“商店”和“类别”属性,我们可以通过这些属性进行高效查询。

    希望这能有所帮助。

    【讨论】:

    • 我在这里看到的唯一问题是每个商店有大约 10.000 种独特的产品,对于 1.000 个客户,这可能会在单个文档中传递 100 万个条目,而不是产品可能有变体,然后是变体文档会有很多条目。
    • 我认为您可以制作两种模式:一种用于商店,另一种用于产品。然后您将它们连接起来,就像将特定产品分配给特定商店一样。我认为做查询会很有效。
    猜你喜欢
    • 1970-01-01
    • 2016-10-14
    • 2017-03-07
    • 1970-01-01
    • 1970-01-01
    • 2014-02-14
    • 1970-01-01
    • 2012-09-11
    • 2017-04-02
    相关资源
    最近更新 更多