一.
-
创建一个数据库 名字grade
-
数据库中创建一个集合名字 class
- 集合中插入若干数据 文档格式如下
{name:‘zhang’,age;10,sex:‘m’,hobby:[‘a’,‘b’,‘c’]}
hobby: draw sing dance basketball football pingpong computer
- 查找
查看班级所有人信息
查看班级中年龄为8岁的学生信息
查看年龄大于10岁的学生信息
查看年龄在 4—8岁之间的学生信息
找到年龄为6岁且为男生的学生
找到年龄小于7岁或者大于10岁的学生
找到年龄是8岁或者11岁的学生
找到兴趣爱好有两项的学生
找到兴趣爱好有draw的学生
找到既喜欢画画又喜欢跳舞的学生
统计爱好有三项的学生人数
找出本班年龄第二大的学生
查看学生的兴趣范围
将学生按年龄排序找到年龄最大的三个
删除所有 年级大于12或者小于4岁的学生
二.增加、更新、删除作业 :
使用之前的grade数据库
- 将小红的年龄变为8岁 兴趣爱好变为 跳舞 画画
- 追加小明兴趣爱好 唱歌
{$push:{hobby:‘sing’}}
- 小王兴趣爱好增加 吹牛 打篮球
{$pushAll:{hobby:[‘吹牛’,‘basketball’]}}
-
小李增加爱好,跑步和唱歌,但是不要和以前的重复
{KaTeX parse error: Expected '}', got 'EOF' at end of input: …dToSet:{hobby:{each:[‘running’,‘sing’]}}}
-
该班所有同学年龄加1
update({},{$inc:{age:1}},false,true)
-
删除小明的sex属性
{$unset:{sex:0}}
-
删除小李兴趣中的第一项
{$pop:{hobby:-1}}
-
将小红兴趣中的画画爱好删除
{$pull:{hobby:‘draw’}}
使用之前的grade数据库
增加分数域 score:{‘chinese’:88,‘english’:78,‘math’:98}
-
按照性别分组统计每组人数
aggregate({KaTeX parse error: Expected '}', got 'EOF' at end of input: group:{_id:'sex’,num:{$sum:1}}})
-
按照姓名分组,过滤出有重名的同学
aggregate([{KaTeX parse error: Expected '}', got 'EOF' at end of input: group:{_id:'name’,num:{KaTeX parse error: Expected 'EOF', got '}' at position 6: sum:1}̲}},{match:{num:{$gt:1}}}])
- 统计每名男生的语文成绩
aggregate([{KaTeX parse error: Expected 'EOF', got '}' at position 16: match:{sex:'m'}}̲,{project:{_id:0,name:1,‘score.chinese’:1}}])
- 将女生按照英语分数降序排列
aggregate([{KaTeX parse error: Expected 'EOF', got '}' at position 16: match:{sex:'w'}}̲,{sort:{‘score.english’:-1}}])