mongodb - mongo中用嵌套结构优势是什么
世界只因有你
世界只因有你 2017-05-02 09:26:28
0
2
815
{
    author{
        id,
        name,
    }
}

{
    author_id,
    author_name,
}

有何优势

世界只因有你
世界只因有你

Antworte allen(2)
淡淡烟草味

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

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

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

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

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

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

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

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

供参考。

Love MongoDB! Have Fun!


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

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

左手右手慢动作

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

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage