我有一个关于mongoDB中一对多关系的快速问题。我之前主要使用SQL,所以我对如何处理关系感到困惑。我已经在线查看了所有文档,并没有给出如何设置和查询一对多关系的好例子。
假设我有一个用户表,每个用户都有很多产品。这意味着在SQL情况下,表中的多个产品将具有相同的用户foreign_key。在mongoDB中,我试图通过将每个用户对象id放入他们销售的相应产品中来复制它,就像外键一样。
我对如何查询它感到困惑。例如,我如何做SELECT * FROM USERS,PRODUCTS WHERE USER_ID = USERFK_ID;?
我读过关于文档引用,嵌入式文档,但它只是让我更加困惑。有没有人有一个直接的解释请。
答案 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年, 类型:“环境” } ] } )