1.查询students集合,只返回一条数据。

db.students.findOne()
db.students.find().limit(1)
db.students.aggregate({$limit:1})

2.根据你查询出来的记录的结构,使用你自己的数据,构造一个文档,并将这个文档写入students集合。

var myself = {"name": "王小王-123","gender": 1,"body": {"height": 166,"weight": 66},"phone": "1666666666","sno": 2019814,"major": "应用数学","grade": 2019,"class": 2,"courses": [{"course": "分布式数据库原理与应用","credit": 4,"score": 99}]
}
db.students.insert(myself)

3.根据你自己的记录数据,查询比你长得高或者和你一样高的学生记录  (比较运算符)

var 我的身高 = 166
var 查询条件 = {"body.height":{$gte:我的身高}}
db.students.find(查询条件)

4.根据你自己的记录数据,查询体重和你相差不超过2kg的学生记录

var 上限 = 66+2
var 下限 = 66-2
var 查询条件 = {"body.weight":{$gte:下限,$lte:上限}}
db.students.find(查询条件)

5.统计你所在专业的学生人数

db.students.count({major:"应用数学"})

6.列出所有课程的名称

db.students.distinct("courses.course")

7.将你所在班级的所有同学标记为同班同学(增加一个新字段:{'关系':'同班同学'}) UPDATE操作

var 同班同学 = {"major":"应用数学","grade":2019,"class":2}
var 同班同学不包括我 = {"major":"应用数学","grade":2019,"class":2,"sno":{$ne:2019814}}
var 同班同学不包括我们 = {"major":"应用数学","grade":2019,"class":2,"sno":{$nin:[2019814,2019813]}}
db.students.find(同班同学)
var 添加字段 = {$set:{'关系':'同班同学'}}
db.students.updateMany(同班同学,添加字段)
db.students.find({'关系':'同班同学'})

8.找到你班上身高最高的3名同学,并删除这些记录

var 同班同学 = {"major":"应用数学","grade":2019,"class":2}
var 同班同学 = {'关系':'同班同学'}  // 第7题的结果
var 找同班同学 = {$match:同班同学}
var 按身高从大到校排序 = {$sort:{"body.height":-1}}
var 取头三个 = {$limit:3}
var res  = db.students.aggregate([找同班同学,按身高从大到校排序,取头三个])db.students.delete({sno:{$in:[2016000242,2016000181,17059434737]}})

这样的命令比较的不够智能,所以我重写了一个JavaScript代码进行迭代删除,不需要自己呆板的获取前面三个数据的名称,如下:

//首先找到你班上身高最高的3名同学:
var 查询条件={"major": "应用数学","grade": 2019,"class": 2}
db.students.find(查询条件).sort({'body.height':-1}).limit(3)//循环删除
var 查询条件={"major": "应用数学","grade": 2019,"class": 2}
var 返回结果 =db.students.find(查询条件,{_id:0,name:1}).sort({'body.height':-1}).limit(3)
for(var i=0; i<返回结果.length(); i++) {db.students.remove(返回结果[i])print(返回结果[i]);
};//再次查询,记录已删除
var 查询条件={"major": "应用数学","grade": 2019,"class": 2}
db.students.find(查询条件).sort({'body.height':-1}).limit(3)

每文一语

没有一蹴而就的成功,只有默默坚持的渐进

MongoDB中数据库的操作(增删改查)相关推荐

  1. 数据库的操作 增删改查 mysql

    数据库的操作 增删改查 mysql 登陆数据库 查看全部的数据库 系统提供的库,除了 test 是给我们练手的 其它的不要碰 mysql库,保存了系统重要内容,比如帐户 root帐户的用户名,密码,就 ...

  2. jQuery库的简单使用:jQuery中的 DOM 操作,增删改查,复制,替换,包裹,属性和样式操作

    jQuery中的 DOM 操作 查 查找属性节点: 通过 jQuery 选择器完成. 操作属性节点: 查找到所需要的元素之后, 可以调用 jQuery 对象的 attr() 方法来获取它的各种属性值 ...

  3. ios mysql 创建不同的用户表_iOS中数据库-创建表-增删改查数据-基础语法

    什么是SQL:结构化查询语言.create创建表drop删除表,delete是删除表中的数据 SQL语句不区分大小写,每条语句必须以分号结束,数据库中不可以使用关键字用为表名(sql常用关键字  se ...

  4. flask中数据库的基本操作-增删改查【备忘】

    1.增加数据(就相当于增加一个实例对象)   user1 = User(name='long',email='1006550026@qq.com',password='123456',role_id= ...

  5. java调用oracle删除,使用IDEA对Oracle数据库进行简单增删改查操作

    1.1 java中的数据存储技术 在java中,数据库存取技术可分为如下几类: 1.jdbc直接访问数据库 2.jdo(java data object)是java对象持久化的新的规范,也是一个用于存 ...

  6. python数据库教程_Python连接mysql数据库及简单增删改查操作示例代码

    1.安装pymysql 进入cmd,输入 pip install pymysql: 2.数据库建表 在数据库中,建立一个简单的表,如图: 3.简单操作 3.1查询操作 #coding=utf-8 #连 ...

  7. Mongodb命令操作增删改查

    Mongodb命令操作增删改查 需求描述 新增5 人 查询 修改 删除 数据结构 {"_id" : ObjectId("59f938235d93fc4af8a37114& ...

  8. python操作数据库教程_Python连接mysql数据库及简单增删改查操作示例代码

    1.安装pymysql 进入cmd,输入 pip install pymysql: 2.数据库建表 在数据库中,建立一个简单的表,如图: 3.简单操作 3.1查询操作 #coding=utf-8 #连 ...

  9. 爬虫使用mysql创建新数据库并进行增删改查操作

    前言: 本文参考:Python3使用mysql创建新数据库并进行增删改查操作https://blog.csdn.net/Anwel/article/details/79919646 该文章描述了爬虫爬 ...

  10. sqlite数据库的基本增删改查操作

    2019独角兽企业重金招聘Python工程师标准>>> 效果图示例 1.在清单里添加相应的权限 <uses-permission android:name="andr ...

最新文章

  1. 属性被分为八大类不包括_乙肝病毒携带者分为几类?主要有5类,包括乙肝表面抗原阳性患者...
  2. 《研磨设计模式》chap14 迭代器模式(2)算工资举例
  3. 左右TextView旋转门问题
  4. 网狐棋牌(十) 成也萧何败也肖何? IUnknowEx
  5. Java从零开始(二) Tomacat
  6. jhsdb:JDK 9的新工具
  7. console application_灵活使用 console 让 js 调试更简单
  8. 一张图看懂阿里云新发布的物联网设备上云神器——HiTSDB + IoT套件
  9. Win11怎么从Dev渠道换Beta渠道?Win11从Dev渠道换Beta渠道的方法
  10. Kubernetes Ingress入门指南和实践练习
  11. wowza 技术交流群/ wowza 流媒体软件交流群
  12. 计算机信息检索工作的原理,2021年湖北自考计算机信息检索课程考试大纲
  13. 计算机网上邻居怎么隐藏,Win7桌面不显示网上邻居图标方法 win7系统如何隐藏网上邻居图标...
  14. HDFS常用命令总结
  15. 硕士转计算机科学,普利茅斯大学计算机科学(转专业)理学硕士研究生申请要求及申请材料要求清单...
  16. 如果你觉得累,这三个“高内耗”行为,一定要戒掉!
  17. 浏览器获取mac地址_真香浏览器,时隔2个月终于又更新了!!!
  18. 2021年山东大学软件学院项目实训记录(第一周)
  19. 传感器检测与转换技术QY-CG810B
  20. (OK) 编译内核及移植MPTCP过程 - 树莓派 3B - (北邮张成文老师组)本科生 - 杨翔 - 周煊赫 - 研究生 - 黎增城

热门文章

  1. revit应用程序无法启动_启动Revit时显示“应用程序无法正确启动”
  2. 今抖云创——各大短视频平台争夺用户
  3. 在VirtualBox安装华为openGauss(基于华为指导手册)
  4. 干货!深度解读湘钢5G智慧钢铁改造
  5. 麦芒6可以升级鸿蒙,华为麦芒6怎么样?麦芒6评测:不仅仅适合年轻人
  6. linux 僵尸进程查看及删除
  7. (一)Scala环境搭建
  8. Flutter下实现低延迟的跨平台RTSP/RTMP播放
  9. uni-app零基础入门到项目实战
  10. android是苹果手机吗,技术角度分析:这就是苹果手机和安卓手机为什么有差距的主要原因...