【问题标题】:One to Many Relationship mongoDB一对多关系mongoDB
【发布时间】:2017-03-31 15:31:00
【问题描述】:

我有一个关于 mongoDB 中一对多关系的快速问题。在此之前我主要使用 SQL,所以我对如何处理关系感到困惑。我已经在线查看了所有文档,但它没有提供一个很好的示例来说明如何设置和查询一对多关系。

假设我有一个用户表,每个用户都有很多产品。这意味着在 SQL 情况下,表中的多个产品将具有相同的用户 foreign_key。在 mongoDB 中,我尝试通过将每个用户对象 id 放入他们销售的相应产品中来复制这一点,就像外键一样。

我对如何查询它感到困惑。例如,我该怎么做 SELECT * FROM USERS, PRODUCTS WHERE USER_ID = USERFK_ID;?

我读过文档引用、嵌入式文档,但它让我更加困惑。有没有人有一个直接的解释。

【问题讨论】:

标签: mongodb


【解决方案1】:

假设我理解您的问题,我将有一个用户集合和一个产品集合。

用户集合将包含用户及其详细信息。例如

{id:'007',名称:'john'} {id:'010',名称:'paul'}

产品集合将包含链接到给定用户的产品。例如

{id: '432738', name: 'apple', price: '100', owner: '007'} 即所有者是 john

关于查询,我会做这样的事情:

db.collection('products').find({owner: user_id_here})

【讨论】:

    【解决方案2】:

    一对多关系是父文档可以有多个子文档,但子文档只能有一个父文档。

    db.artists.insert( { _id:3, 艺术家姓名:“白鲸”, 专辑:[ { 专辑:“播放”, 年份 : 1999, 流派:“电子” }, { 专辑 : "Long Ambients 1: Calm. Sleep.", 年份 : 2016, 类型:“环境” } ] } )

    【讨论】:

      猜你喜欢
      • 2014-10-18
      • 1970-01-01
      • 1970-01-01
      • 2020-06-12
      • 2015-10-25
      • 2018-11-02
      • 2019-08-23
      • 2016-01-17
      • 2022-12-23
      相关资源
      最近更新 更多