美文网首页
MongoDB-练习题

MongoDB-练习题

作者: 小橙子_43db | 来源:发表于2020-01-06 15:16 被阅读0次

    网上找的一些关于MongoDB的练习题,熟悉一下基本的增删改查操作。

    1.进入my_test数据库

    use my_test

    2.向数据库的user集合中插入一个文档 

    db.user.insert({username:"orange"})

    3.查询user集合中的文档

    db.user.find();

    4.向数据库的user集合中插入一个文档 

    db.user.insert({username:"apple",password:"123"})

    5.查询数据库user集合中的文档

    db.user.find()

    结果:{

        "_id" : ObjectId("5e105105d8231babdfa02b63"),

        "username" : "orange"

    }

    {

        "_id" : ObjectId("5e105490d8231babdfa02b64"),

        "username" : "apple",

        "password" : "123"

    }

    6.统计数据库user集合中的文档数量

    db.user.find().count()

    结果:2

    7.查询数据库user集合中username为apple的文档

    db.user.find({username:"apple"})

    结果:{

        "_id" : ObjectId("5e105490d8231babdfa02b64"),

        "username" : "apple",

        "password" : "123"

    }

    8.向数据库user集合中的username为orange的文档,添加一个isActive属性,属性值为true

    db.user.update(

        {username:"orange"},

        {$set:{isActive:true}}

    )

    结果{

        "_id" : ObjectId("5e105105d8231babdfa02b63"),

        "username" : "orange",

        "isActive" : true

    }

    9.使用{username:"tangseng"} 替换 username 为 zhubajie的文档

    db.user.update(

        {username:"apple"},

        {$set:{username:"banana"}}

    )

    结果:{

        "_id" : ObjectId("5e105105d8231babdfa02b63"),

        "username" : "orange",

        "isActive" : true

    }

    {

        "_id" : ObjectId("5e105490d8231babdfa02b64"),

        "username" : "banana",

        "password" : "123"

    }

    10.删除username为sunwukong的文档的address属性

    db.user.update(

        {username:"banana"},

        {$unset:{password:"xxx"}}

    )

    结果:{

        "_id" : ObjectId("5e105490d8231babdfa02b64"),

        "username" : "banana"

    }

    11.向username为orange的文档中,添加一个hobby:{cities:["beijing","shanghai","shenzhen"] , movies:["sanguo","hero"]}

    //MongoDB的文档的属性值也可以是一个文档,当一个文档的属性值是一个文档时,我们称这个文档叫做 内嵌文档

    db.user.update(

        {username:"orange"},

        {$set:

            {hobby:

                {cities:["beijing","shanghai","guangzhou"],movies:["sanguo","hero"]}

            }

        }

    )

    结果

    {

        "_id" : ObjectId("5e105105d8231babdfa02b63"),

        "username" : "orange",

        "isActive" : true,

        "hobby" : {

            "cities" : [

                "beijing",

                "shanghai",

                "guangzhou"

            ],

            "movies" : [

                "sanguo",

                "hero"

            ]

        }

    }

    12.略
    13.查询喜欢电影hero的文档

    db.user.find({'hobby.movies':"hero"}) //使用内嵌属性来查询时需要用引号

    结果:

    {

        "_id" : ObjectId("5e105105d8231babdfa02b63"),

        "username" : "orange",

        "isActive" : true,

        "hobby" : {

            "cities" : [

                "beijing",

                "shanghai",

                "guangzhou"

            ],

            "movies" : [

                "sanguo",

                "hero"

            ]

        }

    }

    14.向tangseng中添加一个新的电影Interstellar

    db.user.update( {username:"orange"}, {$push:{'hobby.movies':"Interstellar"}})

        "_id" : ObjectId("5e105105d8231babdfa02b63"),

        "username" : "orange",

        "isActive" : true,

        "hobby" : {

            "cities" : [

                "beijing",

                "shanghai",

                "guangzhou"

            ],

            "movies" : [

                "sanguo",

                "hero",

                "Interstellar"

            ]

        }

    }

    15.删除喜欢beijing的用户

    db.user.remove({"hobby.cities":"beijing"})

    结果:{

        "_id" : ObjectId("5e105490d8231babdfa02b64"),

        "username" : "banana"

    }

    16.删除user集合

    db.user.remove({})

    db.user.drop()

    17.向numbers中插入2000条数据

    var nums = []

    for(var i=1;i<=2000;i++)

    {

        nums.push({num:i})

    }

    db.numbers.insert(nums);

    18.查询numbers中num为500的文档

    db.numbers.find({num:500})

    19.查询numbers中num大于500的文档

    db.numbers.find({num:{$gt:500}})

    20.查询numbers中num小于30的文档

    db.numbers.find({num:{$lt:30}})

    21.查询numbers中num大于40小于50的文档

    db.numbers.find({num:{$gt:40,$lt:50}})

    22.略

    23.查看numbers集合中的前10条数据

    db.numbers.find({}).limit(10)

    24.查看numbers集合中的第11条到20条数据

    db.numbers.find({}).skip(10).limit(10)

    25.略

    26.将dept和emp集合导入到数据库中,方法一:将数据构造成一个对象数组用命令行插入,方法二:新建json格式文件emp.json和dept.json,使用文件导入。

    34.统计各部门的人数

    db.emp.aggregate([{$group:{_id:"$depno",num_tutorial:{$sum:1}}}])

    35.统计各部门的平均工资

    db.emp.aggregate([{$group:{_id:"$depno",num_tutorial:{$avg:"$sal"}}}])

    数据

    //部门数据(dept)

    {

      "_id" : ObjectId("5941f2bac1bc86928f4de49a"),

      "deptno" : 10.0,

      "dname" : "财务部",

      "loc" : "北京"

    }

    {

      "_id" : ObjectId("5941f2bac1bc86928f4de49b"),

      "deptno" : 20.0,

      "dname" : "办公室",

      "loc" : "上海"

    }

    {

      "_id" : ObjectId("5941f2bac1bc86928f4de49c"),

      "deptno" : 30.0,

      "dname" : "销售部",

      "loc" : "广州"

    }

    {

      "_id" : ObjectId("5941f2bac1bc86928f4de49d"),

      "deptno" : 40.0,

      "dname" : "运营部",

      "loc" : "深圳"

    }

    //员工数据(emp)

    {

      "_id" : ObjectId("5941f5bfc1bc86928f4de4ac"),

      "empno" : 7369.0,

      "ename" : "林冲",

      "job" : "职员",

      "mgr" : 7902.0,

      "hiredate" : ISODate("1980-12-16T16:00:00Z"),

      "sal" : 800.0,

      "depno" : 20.0

    }

    {

      "_id" : ObjectId("5941f5bfc1bc86928f4de4ad"),

      "empno" : 7499.0,

      "ename" : "孙二娘",

      "job" : "销售",

      "mgr" : 7698.0,

      "hiredate" : ISODate("1981-02-19T16:00:00Z"),

      "sal" : 1600.0,

      "comm" : 300.0,

      "depno" : 30.0

    }

    {

      "_id" : ObjectId("5941f5bfc1bc86928f4de4ae"),

      "empno" : 7521.0,

      "ename" : "扈三娘",

      "job" : "销售",

      "mgr" : 7698.0,

      "hiredate" : ISODate("1981-02-21T16:00:00Z"),

      "sal" : 1250.0,

      "comm" : 500.0,

      "depno" : 30.0

    }

    {

      "_id" : ObjectId("5941f5bfc1bc86928f4de4af"),

      "empno" : 7566.0,

      "ename" : "卢俊义",

      "job" : "经理",

      "mgr" : 7839.0,

      "hiredate" : ISODate("1981-04-01T16:00:00Z"),

      "sal" : 2975.0,

      "depno" : 20.0

    }

    {

      "_id" : ObjectId("5941f5bfc1bc86928f4de4b0"),

      "empno" : 7654.0,

      "ename" : "潘金莲",

      "job" : "销售",

      "mgr" : 7698.0,

      "hiredate" : ISODate("1981-09-27T16:00:00Z"),

      "sal" : 1250.0,

      "comm" : 1400.0,

      "depno" : 30.0

    }

    {

      "_id" : ObjectId("5941f5bfc1bc86928f4de4b1"),

      "empno" : 7698.0,

      "ename" : "西门庆",

      "job" : "经理",

      "mgr" : 7839.0,

      "hiredate" : ISODate("1981-04-30T16:00:00Z"),

      "sal" : 2850.0,

      "depno" : 30.0

    }

    {

      "_id" : ObjectId("5941f5bfc1bc86928f4de4b2"),

      "empno" : 7782.0,

      "ename" : "柴进",

      "job" : "经理",

      "mgr" : 7839.0,

      "hiredate" : ISODate("1981-06-08T16:00:00Z"),

      "sal" : 2450.0,

      "depno" : 10.0

    }

    {

      "_id" : ObjectId("5941f5bfc1bc86928f4de4b3"),

      "empno" : 7788.0,

      "ename" : "公孙胜",

      "job" : "分析师",

      "mgr" : 7566.0,

      "hiredate" : ISODate("1987-07-12T16:00:00Z"),

      "sal" : 3000.0,

      "depno" : 20.0

    }

    {

      "_id" : ObjectId("5941f5bfc1bc86928f4de4b4"),

      "empno" : 7839.0,

      "ename" : "宋江",

      "job" : "董事长",

      "hiredate" : ISODate("1981-11-16T16:00:00Z"),

      "sal" : 5000.0,

      "depno" : 10.0

    }

    {

      "_id" : ObjectId("5941f5bfc1bc86928f4de4b5"),

      "empno" : 7844.0,

      "ename" : "阎婆惜",

      "job" : "销售",

      "mgr" : 7698.0,

      "hiredate" : ISODate("1981-09-07T16:00:00Z"),

      "sal" : 1500.0,

      "comm" : 0.0,

      "depno" : 30.0

    }

    {

      "_id" : ObjectId("5941f5bfc1bc86928f4de4b6"),

      "empno" : 7876.0,

      "ename" : "李逵",

      "job" : "职员",

      "mgr" : 7902.0,

      "hiredate" : ISODate("1987-07-12T16:00:00Z"),

      "sal" : 1100.0,

      "depno" : 20.0

    }

    {

      "_id" : ObjectId("5941f5bfc1bc86928f4de4b7"),

      "empno" : 7900.0,

      "ename" : "武松",

      "job" : "职员",

      "mgr" : 7782.0,

      "hiredate" : ISODate("1981-12-02T16:00:00Z"),

      "sal" : 950.0,

      "depno" : 10.0

    }

    {

      "_id" : ObjectId("5941f5bfc1bc86928f4de4b8"),

      "empno" : 7902.0,

      "ename" : "吴用",

      "job" : "分析师",

      "mgr" : 7566.0,

      "hiredate" : ISODate("1981-12-02T16:00:00Z"),

      "sal" : 3000.0,

      "depno" : 20.0

    }

    {

      "_id" : ObjectId("5941f5bfc1bc86928f4de4b9"),

      "empno" : 7934.0,

      "ename" : "鲁智深",

      "job" : "职员",

      "mgr" : 7782.0,

      "hiredate" : ISODate("1982-01-22T16:00:00Z"),

      "sal" : 1300.0,

      "depno" : 10.0

    }

    相关文章

      网友评论

          本文标题:MongoDB-练习题

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