mongodb - mongo中用嵌套结构优势是什么

浏览:78日期:2023-06-15

问题描述

{ author{id,name, }}{ author_id, author_name,}

有何优势

问题解答

回答1:

首先需要知道,MongoDB是NoSQL中的一种,是不直接支持Join的,这是NoSQL的一个特点,不需要直接支持Join,可以将横向扩展以及性能做到更好。

但是这不等于说MongoDB不能做Join所做的事情,为了达到传统数据库join的功能,MongoDB中有2个思路:

Embedding:透过Embedding子文档,达到One to Many的关联关系;这就是您说的嵌套结构;

Referencing:Referencing分为手工Referencing和自动Referencing;通常推荐是手工Referencing,通常是将需要关联的文档的Object_id保存在需要关联的Collection中,也就是说需要关联的Document的Object_id写入时,分别写入在两个需要关联的Collection里面。

上述两个思路,也正是MongoDB的Data Model的主要思路。

那么上述2个思路在具体的运用的时候,怎么区分开呢?

如果能够Embedding的Sub Document,不需要单独被查询,那就直接Embedding;

如果这个Sub Document需要对外提供查询,则单独保存为一个Collection,并使用Referencing与其他collecion关联。

供参考。

Love MongoDB! Have Fun!

不见不散,19日,请戳:>---<

MongoDB在线讲座系列19- MongoDB 10步构建单一视图

回答2:

文档型结构,更加贴近我们对物体属性的描述;通过一条记录就可以描述出一个对象的所有属性,这就是一个优势!

相关文章: