• 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()
  • 相关阅读:
    version negotiation failed (we support version 0x01, peer supports version 0x04
    Ryu-SDN-IP
    ryu No module named
    ryu ImportError: No module named ryu.cmd.manager
    Cannot find required service quagga in /etc/init.d/
    sdx-ryu(一)
    Oracle Day01 数据库基础
    HTML+CSS Day11产品网站
    HTML+CSS Day10实例
    HTML+CSS D09 定位
  • 原文地址:https://www.cnblogs.com/yinzhengjie/p/12110763.html
Copyright © 2020-2023  润新知