MongoDB测试样例

2020-05-27  本文已影响0人  GG_lyf

前言

        之前介绍过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})
上一篇下一篇

猜你喜欢

热点阅读