一对多关系mongoDB

时间:2017-03-31 15:31:01

标签: mongodb

我有一个关于mongoDB中一对多关系的快速问题。我之前主要使用SQL,所以我对如何处理关系感到困惑。我已经在线查看了所有文档,并没有给出如何设置和查询一对多关系的好例子。

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

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

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

2 个答案:

答案 0 :(得分:0)

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

用户集合将包含用户及其详细信息。 E.g。

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

产品系列将包含与给定用户关联的产品。 E.g。

{id:'432738',名称:'apple',价格:'100',所有者:'007'}即所有者是约翰

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

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

答案 1 :(得分:0)

一对多关系是父文档可以包含许多子文档的位置,但子文档只能有一个父文档。

db.artists.insert(     {         _id:3,         artistname:“白鲸”,         专辑:[                     {                         专辑:“Play”,                         年:1999年,                         类型:“Electronica”                     },                     {                         专辑:“长环境1:平静。睡眠。”,                         年:2016年,                         类型:“环境”                     }                 ]     } )