mongoose 联表查询之populate使用及注意事项

在使用 mongoose 时,想通过一个外键与另一张表建立关联时,不知该如何简单快捷的实现,特地去查了一下,发现了 population 这个功能,在此简单记录下 mongoose 的 populate 使用。

 

【前言】

MongoDB是NoSQL数据库,易扩展,比传统数据库更适合处理大数据。Mongoose是基于Node.js、MongoDB的高级ORM类库。链接数据库简单,不必每次开启关闭数据库。
对于NoSql数据库来说,数据库中是不存储关系数据的,并没有主键、外键约束之分,但是我们可以在应用层进行存储,Mongoose提供的这一特性,名为population
允许我们使用不同集合来填充文档特定部分,个人理解感觉就像是通过外键可以获得外键所在表中的信息这样的查询效果。

mongoose 联表查询之populate使用及注意事项_第1张图片

 

 

【主体】

  mongoose 联表查询之populate使用及注意事项_第2张图片

 

   mongoose 联表查询之populate使用及注意事项_第3张图片

 

   mongoose 联表查询之populate使用及注意事项_第4张图片

 

   mongoose 联表查询之populate使用及注意事项_第5张图片

 

   mongoose 联表查询之populate使用及注意事项_第6张图片

 

   mongoose 联表查询之populate使用及注意事项_第7张图片

通过图片我们可以看到在room原型中所ref的user原型中符合的信息已经全部都输出了,这样就不用多集合查询获得信息了,虽然各集合之间都没有关系,
但是我们通过使用population在应用层存储它们

  

(2)常见问题+注意事项(_id)

   mongoose 联表查询之populate使用及注意事项_第8张图片

 

   

 

 

 

 

 

.

你可能感兴趣的:(mongoose 联表查询之populate使用及注意事项)