zoukankan      html  css  js  c++  java
  • MongoDB入门-文档间的关系

               MongoDB入门-文档间的关系

                                           作者:尹正杰

    版权声明:原创作品,谢绝转载!否则将追究法律责任。

    /*
      文档间的关系:
        一对一(one to one):
            一对一关系如中国合法夫妻关系(一个丈夫对应一个妻子)
            在MongoDB中可以通过内嵌文档的形式来体现一对一的关系。
            
        一对多(one to many):
            一对多关系如网购的用户和订单(一个用户可以有多个订单,但是一个订单只能属于一个用户)
            在MongoDB中也可以通过内嵌文档的形式来映射一对多的关系。
        
        多对多(many to many):
            多对多关系如老师和学生的关系。
    */
    
        
        
    //一对一模型
    db.wifeAndHusband.insert([
        {
            name:"黄蓉",
            husband:{
                name:"郭靖"
            }
        },
        {
            name:"潘金莲",
            husband:{
                name:"武大郎"
            }
        }
    ])
    
    db.wifeAndHusband.find({})
    
    
    
    //一对多模型
    db.users.insert([
        {
            username:"孙悟空"
        },
        {
            username:"猪八戒"
        }
    ])
    
    //查看所有的用户信息
    db.users.find({})
    
    db.orders.insert({
        list:["香蕉","牛肉","驴肉","蟠桃","酒"],
        user_id:ObjectId("5e0ddd0dfddfdcbbd02328b8")
    })
    
    db.orders.insert({
        list:["棒棒糖","辣条","雪糕","橙子","火龙果"],
        user_id:ObjectId("5e0ddd0dfddfdcbbd02328b8")
    })
    
    db.orders.insert({
        list:["西瓜","女儿红","驴肉","麻辣烫","酸辣粉"],
        user_id:ObjectId("5e0ddd0dfddfdcbbd02328b9")
    })
    
    //查看所有订单信息
    db.orders.find({})
    
    //只查看孙悟空的订单
    var swk_id = db.users.findOne({username:"孙悟空"})._id
    db.orders.find({user_id:swk_id})
    
    
    
    //多对多模型
    db.teachers.insert([
        {name:"纲手"},
        {name:"大蛇丸"},
        {name:"好色仙人"}
    ])
    
    db.students.insert([
        {
            name:"漩涡鸣人",
            teach_ids:[
                ObjectId("5e0de1dbfddfdcbbd02328bd"),
                ObjectId("5e0de1dbfddfdcbbd02328bf")
            ]
        },
        
         {
         name:"宇智波佐助",
            teach_ids:[
                ObjectId("5e0de1dbfddfdcbbd02328bd"),
                ObjectId("5e0de1dbfddfdcbbd02328be"),
                ObjectId("5e0de1dbfddfdcbbd02328bf")
            ]
        },
    ])
    
    db.teachers.find({})
    db.students.find()
  • 相关阅读:
    JAVA中的super和this关键字的使用
    JAVA中类以及成员变量和成员方法的修饰符的总结
    JAVA中的抽象类和接口
    JAVA对数据库进行操作,实现数据库中数据的插入,查询,更改,删除操作
    完整日期正则表达式
    2017实习【Java研发】面经
    MySQL事务及隔离级别(读书小结)
    Java类编译、加载、和执行机制
    JVM内存回收机制
    Centos6.5的MySQL5.7.15二进制源码单机版安装
  • 原文地址:https://www.cnblogs.com/yinzhengjie/p/12110763.html
Copyright © 2011-2022 走看看