GITHUB:https://github.com/peterowang/Springdata-mongo

使用DBRefs

DBRefs中有三个字段 -

  • $ref - 此字段指定引用文档的集合
  • $id - 此字段指定引用文档的_id字段
  • $db - 这是一个可选字段,并包含引用文档所在的数据库的名称

假设一个具有DBRef字段address的示例用户文档,如代码片段所示 -

{ "_id":ObjectId("348362491fjaskdlf2314"), "address": { "$ref": "address_home", "$id": ObjectId("sfaafdf4137832149fssa"), "$db": "yiibai"}, "contact": "13800138000", "dob": "1991-12-12", "name": "Maxsu" }
使用DBef

新建collection   role角色表

db.role.insert([{role:"admin"},{role:"root"},{role:"guest"}])

新建用户user表

db.user.insert([
{roleId:[new DBRef('role',ObjectId("59b7910c943eabe738230d34")),new DBRef('role',ObjectId("59b7910c943eabe738230d35"))]},
{roleId:[new DBRef('role',ObjectId("59b7914c943eabe738230d36"))]}
])

'role'是刚才创建的role表名,objectId是当前的这条user记录要关联哪些role表中的记录(role中的id)

查询:

查指定id的user记录:

查指定id中的roleId字段中的第1个关联的role信息

查指定id中的roleId字段中的第2个关联的role信息

http://www.yiibai.com/mongodb

https://docs.mongodb.com/manual/reference/sql-aggregation-comparison/

最新文章

  1. js学习之变量、作用域和内存问题
  2. js压缩图片base64长度
  3. CVPR 2011 Global contrast based salient region detection
  4. FactoryBean的使用
  5. Android测试框架1(非原创)
  6. 远程读取URL 建议用curl代替file_get_contents
  7. SynchronousQueue、LinkedBlockingQueue、ArrayBlockingQueue性能测试
  8. HDU 3046Pleasant sheep and big big wolf(切最小网络流)
  9. 【SICP练习】150 练习4.6
  10. Web层后端权限模块
  11. Myeclipese改变背景色
  12. WPF中MeasureOverride ArrangeOverride 的理解
  13. 一个基于EntityFramework Core的简单数据库访问层,适用于轻量级数据库业务
  14. workbench使用小笔记(不定期持续更新)
  15. 学习笔记 Optional
  16. Pandas学习2 --- 数据类型Series、DataFrame
  17. 异步编程(async&await)
  18. 数组也继承了Object类
  19. Linux 系统目录结构和常用指令
  20. sqlite数据库部署到服务器上的问题

热门文章

  1. 搭建基于Nagios的监控系统——之监控远程Linux服务器
  2. .NETFramework:DateTimeOffset
  3. Elasticsearch的前后台运行与停止(rpm包方式)
  4. 浅谈HTML移动Web开发(转)
  5. [hiho第92周]Miller-Rabin素性测试的c++实现
  6. file -i haha.csv
  7. 使用BIND安装智能DNS服务器(一)---基本的主从DNS服务器搭建
  8. python学习笔记10 ----网络编程
  9. Mathematics Base - Tensor
  10. Guid string 转换