84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
{ author{ id, name, } } { author_id, author_name, }
有何优势
首先需要知道,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步构建单一视图
文档型结构,更加贴近我们对物体属性的描述;通过一条记录就可以描述出一个对象的所有属性,这就是一个优势!
首先需要知道,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步构建单一视图
文档型结构,更加贴近我们对物体属性的描述;通过一条记录就可以描述出一个对象的所有属性,这就是一个优势!