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

有何优势

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

répondre à tous (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步构建单一视图

    左手右手慢动作

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

      Derniers téléchargements
      Plus>
      effets Web
      Code source du site Web
      Matériel du site Web
      Modèle frontal
      À propos de nous Clause de non-responsabilité Sitemap
      Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!