MongoDB数据库学习笔记(三)

MongoDB数据库文档间的关系

        MongoDB数据库文档之间的关系主要分为三种,即一对一(one to one)、一对多(one to many)/多对一(many to one)和多对多(many to many)

一、一对一(one to one)

        实际生活中的夫妻关系、恋爱关系等都是一对一关系的体现,而在MongoDB中主要是通过内嵌文档的形式来体现一对一的关系的。将一个文档的一个属性值设置为其对应的一个文档。如下图所示:
在这里插入图片描述

二、一对多(one to many)/多对一(many to one)

        实际生活中父子关系、用户和订单关系、文章和评论关系等都是一对多关系。所以一对多关系是我们在编程中需要处理的最多的关系。在MongoDB中也可以通过内嵌文档的形式来实现一对多的关系,但是如果数据很多的话会使得文档变得很大,不便于操作。所以一般将两种不同的文档放在不同的集合中,然后在表示“多”的文档中添加一个字段用来存储表示“少”的文档的id。这样就可以实现一对多的关系。
        一对多关系举例:用户和订单
        1、在数据库的集合user中添加用户信息,如下图所示:在这里插入图片描述
        1、在数据库的集合orders中添加订单信息,订单信息中的userid分别对应user集合中的用户的id,如下图所示:
在这里插入图片描述
        3、由图可知,用户猪八戒对应了两张订单,用户孙悟空对应了一张订单。

二、多对多(many to many)

        实际生活中分类和商品、老师和学生等关系属于多对多的关系。在MongoDB中多对多的关系体现与一对多方式相似。不同之处在于在表示“多”的文档中添加一个字段用来存储表示“少”的文档的id时,字段的值为数组,数组里面是对应的“多”的文档的_id值。

总结

本文简单总结并举例说明了MongoDB文档之间的三种关系的表示方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值