美文网首页
MongoDB测试样例

MongoDB测试样例

作者: GG_lyf | 来源:发表于2020-05-27 12:41 被阅读0次

    前言

            之前介绍过MongoDB的大概使用,今天介绍具体使用


    开搞

    //1.进入my_test数据库
    use my_test
    show dbs;
    
    //2.向数据库的user集合中插入一个文档  
    db.users.insert({username:"tangseng"})
    
    //3.查询user集合中的文档
    db.users.find()
    
    //4.向数据库的user集合中插入一个文档      
    db.users.insert([
        {"username":"张三"},
        {"username":"李四"},
        {"username":"王五"},
        {"username":"赵六"},
        {"username":"sunwukong"}
    ])
    
    //5.查询数据库user集合中的文档
    db.users.find()
    
    //6.统计数据库user集合中的文档数量
    db.users.find().count()
    
    //7.查询数据库user集合中username为sunwukong的文档
    db.users.find({"username":"sunwukong"})
    
    //8.向数据库user集合中的username为sunwukong的文档,添加一个address属性,属性值为huaguoshan
    db.users.updateOne(
        {"username":"sunwukong"},
        {
            $set:{"address":"huaguoshan"}
        }
    )
    
    //9.使用{username:"tangseng"} 替换 username 为 zhubajie的文档
    db.users.update(
        {"username":"zhubajie"},
        {
            $set:{"username":"tangseng"}
        }
    )
    
    //10.删除username为sunwukong的文档的address属性
    db.users.update(
        {"username":"sunwukong"},
        {
            $unset:{"address":"huaguoshan"}
        }
    )
    
    //11.向username为sunwukong的文档中,添加一个hobby:{cities:["beijing","shanghai","shenzhen"] , movies:["sanguo","hero"]}    这就是内嵌文档
    db.users.update(
        {"username":"sunwukong"},
        {
            $set:{
                    hobby:{
                                    cities:["beijing","shanghai","shenzhen"] , 
                                    movies:["sanguo","hero"]
                                }
                        }
        }
    )
    
    //12.向username为tangseng的文档中,添加一个hobby:{movies:["A Chinese Odyssey","King of comedy"]}
    db.users.update(
        {"username":"tangseng"},
        {
            $set:{hobby:{
                                        movies:["A Chinese Odyssey","King of comedy"]
                                    }
                        }
        }
    )
    
    //13.查询喜欢电影hero的文档
    //查询内嵌文档就要用引号
    db.users.find({"hobby.movies": "hero"});
    
    //14.向tangseng中添加一个新的电影Interstellar
    //$push:向数组中天年假一个新的元素
    //addToSet:向数组中天年假一个新的元素,如果数组中已有该元素就添加失败
    db.users.update(
        {"username":"tangseng"},
        {
            $push:{"hobby.movies":"Interstellar"}
        }
    )
    
    //15.删除喜欢beijing的用户
    db.users.remove({"hobby.cities":"beijing"})
    
    //16.删除user集合
    db.users.drop()
    
    //17.向numbers中插入20000条数据
    use number
    show dbs
    var arr=[];
    for(var i = 1 ; i <= 20000 ; i++){
        arr.push({"number":i});
    }
    db.numbers.insert(arr);
    
    db.numbers.remove({})
    
    //18.查询numbers中num为500的文档
    db.numbers.find({number:500})
    db.numbers.find({number:{$eq:500}})
    
    //19.查询numbers中num大于5000的文档
    db.numbers.find({number:{$gt:5000}})
    
    //20.查询numbers中num小于30的文档
    db.numbers.find({number:{$lt:30}})
    
    //21.查询numbers中num大于40小于50的文档
    db.numbers.find({number:{$gt:40,$lt:50}})
    
    //22.查询numbers中num大于19996的文档
    db.numbers.find({number:{$gt:19996}})
    
    //23.查看numbers集合中的前10条数据
    db.numbers.find({number:{$lte:10}})
    db.numbers.find().limit(10);
    
    //24.查看numbers集合中的第11条到20条数据
    //skip()用于跳过指定数量的数据
    db.numbers.find().skip(10).limit(10);
    
    //25.查看numbers集合中的第21条到30条数据
    db.numbers.find().skip(20).limit(10);
    
    //文档之间的关系
    //一对一
    use couple;
    show dbs
    db.couples.insert([
        {
            name:"黄蓉",
            husband:{
                name:"郭靖"
            }
        },
        {
            name:"AA",
            husband:{
                name:"BB"
            }
        }
    ]);
    
    //一对多
    db.users.insert([
        {
            username:"zhangsan"
        },
        {
            username:"lisi"
        }
    ])
    
    db.order.insert({
        list:["苹果","香蕉","橘子"],
        user_id:ObjectId("5e523aa96b4f0000c2002a85")
    })
    
    db.order.insert({
        list:["火龙果","菠萝蜜","大香蕉"],
        user_id:ObjectId("5e523aa96b4f0000c2002a86")
    })
    
    var userId = db.users.findOne({"username":"zhangsan"})._id
    db.order.find({user_id:userId})
    
    
    //多对多
    db.teachers.insert([
        {"name":"张飞"},
        {"name":"李逵"},
        {"name":"武松"},
        {"name":"宋江"},
        {"name":"杨志"}
    ])
    db.teachers.find()
    
    db.students.insert([
        {
            name:"草上飞",
            tea_id:[
                ObjectId("5e523e206b4f0000c2002a8d"),
                ObjectId("5e523e206b4f0000c2002a8e"),
            ]
        },
        {
            name:"过江龙",
            tea_id:[
                ObjectId("5e523e206b4f0000c2002a8f"),
                ObjectId("5e523e206b4f0000c2002a90"),
                ObjectId("5e523e206b4f0000c2002a91"),
            ]
        }
    ])
    db.students.find()
    
    //26.将dept和emp集合导入到数据库中
    //27.查询工资小于2000的员工
    db.emp.find({sal:{$lt:2000}})
    
    //28.查询工资在1000-2000之间的员工
    db.emp.find({sal:{$gt:1000,$lt:2000}})
    
    //29.查询工资小于1000或大于2500的员工
    db.emp.find({$or:[{sal:{$gt:1000}},{sal:{$lt:2500}}]})
    
    //30.查询财务部的所有员工
    var dept_no;
    dept_no = db.dept.findOne({"dname":"财务部"}).deptno;
    db.emp.find({depno:dept_no})
    
    //31.查询销售部的所有员工
    var dept_no;
    dept_no = db.dept.findOne({"dname":"销售部"}).deptno;
    db.emp.find({depno:dept_no})
    
    
    //32.查询所有mgr为7698的所有员工
    db.emp.find({mgr:{$eq:7698}})
    
    //33.为所有薪资低于1000的员工增加工资400元
    //$inc自增
    db.emp.update({sal:{$lt:1000}},{$inc:{sal:400}})
    db.emp.find()
    
    //按照sal排序,1正序,-1降序
    db.emp.find().sort({sal:-1,empno:1});
    
    //查询时,按照第二个参数的位置去设置查询结果的 投影
    //0为不显示,!=0就显示
    db.emp.find({},{job:1,_id:0,sal:1})
    

    相关文章

      网友评论

          本文标题:MongoDB测试样例

          本文链接:https://www.haomeiwen.com/subject/amlmahtx.html