1 创建数据库名为 grade
> use grade
switched to db grade 2 创建集合 class 3 插入若干数据 格式如下
{name:xxx,age:xxx,sex:xx,hobby:[xx,xx,xx]}
age : 7~14
hobby: draw, dance , running , sing, football , basketball, computer, python
> db.class.find() 4 查找
    1.查看所有人信息
db.class.find() 2.查看年龄为 8 岁信息
db.class.find({age:8}) 3.查看年龄大于 10 岁信息
db.class.find({age:{$gt:10}}) 4.查看年龄 8-12 岁信息
db.class.find({age:{$in:[8,9,10,11,12]}}) 5.查看年龄 7岁 且 喜欢画画的 男生信息
db.class.find({age:7,hobby:"draw",sex:"b"}) 6.查看年龄 小于8岁 或者 大于12岁的学生
db.class.find({$or:[{age:{$lt:8}},{age:{$gt:12}}]}) 7.查看年龄 9岁 或者 11岁的学生
db.class.find({$or:[{age:12},{age:9}]}) 8.查找有两个兴趣的学生
db.class.find({hobby:{$size:2}}) 9.查找喜欢计算机的同学
db.class.find({hobby:"computer"}) 10.查找既喜欢画画又喜欢跳舞的
db.class.find({hobby:{$all:["draw","dance"]}})
db.class.find({hobby:"dance",hobby:"draw"}) 11.统计兴趣爱好有三项的人数
db.class.find({hobby:{$size:3}}) 12.找出班级中年龄第二大的同学
db.class.find().sort({"age":-1})[1] 13.查看本班兴趣爱好行涵盖范围
db.class.distinct("hobby") 14.找到班级中年龄最小的三位同学
db.class.find().sort({age:1}).limit(3)

练习第二阶段
    使用之前的数据库
1. 将小红年龄改成8岁,兴趣爱好改成 跳舞画画
db.class.updateOne({name:"小红"},{$set:{age:8, hobby:["draw","dance"]}}) 2. 追加小明的兴趣爱好唱歌
db.class.updateOne({name:"小明"},{$push:{hobby:"sing"}}) 3.小王多了兴趣爱好吹牛,打篮球
db.class.updateOne({name:"小明"},{$pushAll:{hobby:["fox","basketball"]}}) 4.小李兴趣要增加跑步唱歌,但是不能是和已有的一样
db.class.updateOne({name:"小明"},{$addToSet:{hobby:{$each:["run","sing"]}}}) 5.班级所有年龄加一
db.class.updateMany({},{$inc:{age:1}}) 6.删除小明的sex属性
db.class.updateOne({},{$unset:{sex:""}}) 7.小李第一个兴趣爱好不要了
db.class.updateOne({name:"小李",{$pop:{hobby:-1}}}) 8.删除小红兴趣中的画画唱歌
db.class.updateOne({name:"小红",{$pullAll:{hobby:["draw","sing"]}}})

三阶段练习
    使用 grade 数据库完成
1.删除所有年龄 小于8岁,或者 大于12岁 的学生
db.class.deleteMany({$or:[{age:{$lt:8}},{age:{$gt:12}}]})
2.给小红第二项爱好变为 跳舞
db.class.updateOne({name:"小红"},{$set:{"hobby.1":"dance"}})
3.删除兴趣爱好中没有 画画 的学生
db.class.deleteMany({},{hobby:{$nin:["draw"]}})
4.给小王增加一个域: 备注:{民族:"回族", 习俗:"不吃猪肉"}
db.class.updateOne({name:"小王"},{$set:{备注:{民族:"回族", 习俗:"不吃猪肉"}}})
5.修改小王的备注域, 增加项: 宗教:"伊斯兰教"
db.class.updateOne({name:"小王"},{$set:{"备注.宗教":"伊斯兰教"}})

四阶段练习
    使用 grade 数据库完成
1. 将所有男生按照年龄升序排序结果不显示 _id
db.class.aggergate([{$match:{sex:"b"}},{$sort:{age:1}},{$project:{_id:0}}])
2. 统计班级是否有重名同学
db.class.aggergate({[$group:{_id:"$name",num:{$sum:1}}},{$match:{num:{$gt:1}}}])

mongoDB 小练习的更多相关文章

  1. 小程序 座位管理系统(二)(nodejs+mongodb+小程序)

    图片从左至右:登录图.湘大新闻页.教学楼页. 说明:  Node.js+mongodb.有些数据放在小程序里,有些数据放在mongodb里.和一相比布局稍作改动,密码改成了"111111&q ...

  2. 与你相遇好幸运,MongoDB小技巧

    保存为bat方便: "C://Program Files//MongoDB//Server//3.2//bin//mongod.exe" --dbpath=D://corp//db ...

  3. yii 使用 mongodb 小工具 YiiMongoDbSuite

    YiiMongoDbSuite下载链接: http://www.yiiframework.com/extension/yiimongodbsuite/ 如果你的yii和mongodb它已经建立了一个良 ...

  4. MongoDB小东西

    在mongodb中,show users 和db.system.users.find() 都能查看账户的相关信息,但是这两个命令有什么区别么? db.system.users.find() 是查看全局 ...

  5. MongoDB资料汇总

    MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. 它的特点是高性能.易部署.易使用,存储数据非常方便.主要功能特性有: 面向集合存 ...

  6. mongodb的安装与简单操作

    MongoDB中文社区:http://www.mongoing.com     数据库的使用场景 SQL(关系型数据库):MySQL.SQLServer  --->磁盘操作 1.高度事务性的场景 ...

  7. NodeJS实战:Express+Mongoose+ejs

    元宵还没到,先向所有朋友拜一个晚年~~~ 文章目录: 1.组件版本号 -- --node -- --express -- --Mongoose 2.初始化项目 firstblood -- --用 ex ...

  8. < high performance web sites > 阅读小记

    high performance web sites 1,减少HTTP请求数 (1)图片加载使用image maps 或者 CSS Sprite (2)使用非http协议,如(ftp:, file: ...

  9. Mongdb、Mysql、Redis、Memcache场景

    个人的一点理解,不确定一定准确,有不对处欢迎指出 全部数据使用mysql存储,确保安全.准确和持久 大数据.非安全性数据使用Mongodb 小数据.结构丰富.持久化(主从数据)使用redis 小数据. ...

随机推荐

  1. Android ION内存分配

    The Android ION memory allocator 英文原文 ION heaps ION设计的目标 为了避免内存碎片化,或者为一些有着特殊内存需求的硬件,比如GPUs.display c ...

  2. C# 第十版

    地址: https://files.cnblogs.com/files/blogs2014/%E9%AB%98%E7%BA%A7%E7%BC%96%E7%A8%8B%28%E7%AC%AC11%E7% ...

  3. Web开发人员学习路线图

    http://www.runoob.com/w3cnote/2018-web-developer.html

  4. 【转载】FPGA 中的latch 锁存器

    以下这篇文章讲述了锁存器的一些概念和注意事项.原文标题及链接: FPGA 中的latch 锁存器 - 快乐至永远上的博客 - 与非博客 - 与网 http://www.eefocus.com/liuy ...

  5. 【字】biang

    biang biang面的名字由来:biangbiang面是陕西关中地区的一中地区美食,因为在做这种面时会发出biang biang的声音,biang biang面因此得名.biang字简体共有42笔 ...

  6. 转://诊断 Grid Infrastructure 启动问题 (文档 ID 1623340.1) .

    文档内容   用途   适用范围   详细信息   启动顺序:   集群状态   问题 1: OHASD 无法启动   问题 2: OHASD Agents  未启动   问题 3: OCSSD.BI ...

  7. Maven的继承以及import作用域

    Maven的pom文件中可继承的元素包括: groupId:项目ID,项目坐标核心元素 version:项目版本 description:描述信息 organization:组织信息 inceptio ...

  8. JRE与JDK简介

    如何进行 Java 开发: JRE: JDK:

  9. Spring boot整合Mybatis

    时隔两个月的再来写博客的感觉怎么样呢,只能用“棒”来形容了.闲话少说,直接入正题,之前的博客中有说过,将spring与mybatis整个后开发会更爽,基于现在springboot已经成为整个业界开发主 ...

  10. MD5加密加盐

    Java实现MD5的随机加盐加密,这样以来就很难解密了,必须使用原密码才能正常的登录系统了,以下为Java实现的MD5随机加盐加密,以及使用Apache的Hex类实现Hex(16进制字符串和)和字节数 ...