zoukankan      html  css  js  c++  java
  • mongodb关联查询 和spring data mongodb

    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/

  • 相关阅读:
    SpringBoot连接数据库
    String、StringBuffer、StringBulider的区别和解析
    异常This application has no explicit mapping for /error
    node使用
    JS总结defer与async(一)
    前端项目搭建与知识框架
    git ssh配置总结
    JS算法
    JS数据结构
    Http与Http2与Https区别和联系
  • 原文地址:https://www.cnblogs.com/wangjing666/p/7511485.html
Copyright © 2011-2022 走看看