表3-1 SQL与MongoDB术语对比

无论是插入一条数据还是插入多条数据,每一条数据被插入
MongoDB 后都会被自动添加一个字段“_id”。“_id”读作“Object Id”,它
是由时间、机器码、进程pid和自增计数器构成的。
“_id”始终递增,但绝不重复。
● 同一时间,不同机器上面的“_id”不同。
● 同一机器,不同时间的“_id”也不同。
● 同一机器同一时间批量插入的数据,“_id”依然不同。

#---------------------------------------------robo3t操作-------------------------------------

robo3t创建数据库:

创建集合:

插入单条数据:

db.getCollection('example_data_1').insertOne({"name": "张小二 ", "age": 17,"address": "浙江"})

JSON字符串必须使用双引号,不过这个规定在MongoDB中并非强制性的,用单引号也没有问题。

db.getCollection("example_data_1").insertOne({"name":"王小六", "age": 25, "work":"厨师"})

插入后效果如下:

db.getCollection("example_data_1").insertOne({"hello":"world","sex":"男","职位":"工程师"})

db.getCollection("example_data_1").insertOne({"name":18030,"age":"十岁","address":3.5})

db.getCollection("example_data_1").insertMany([

{"name":"朱小三","age":20,"address":"北京"},

{"name":"刘小四","age":21,"address":"上海"},

{"name":"马小五","age":22,"address":"山东"},

{"name":"夏侯小七","age":23,"address":"河北"},

{"name":"公孙小八","age":24,"address":"广州"},

{"name":"慕容小久","age":25,"address":"杭州"},

{"name":"欧阳小十","age":26,"address":"深圳"},

])

任务 mongodb 代码
查询所有数据 db.getCollection('example_data_1').find({'age': 25})
查询特定数据 db.getCollection("example_data_1").find({"age":25,"name":"慕容小九"})
查询范围值数据 db.getCollection('example_data_1').find({'age': {'$gte': 25}})
查询所有“age”大于21并小于等于24的数据。 db.getCollection('example_data_1').find({'age': {'$lt': 25, '$gt': 21}})
查询所有“age”大于21并小于等于24的数据,且“name”不
为“夏侯小七”的记录
db.getCollection("example_data_1").find({
"age":{
"$lt":25,
"$gt":21,
},
"name":{"$ne":"夏侯小七"}})
限定返回哪些字段 db.getCollection('example_data_1').find({}, {'address': 0, 'age': 0})
满足要求的数据有多少条 db.getCollection('example_data_1').find({'age': {'$gt': 21}}).count()
限定返回结果——“limit()”命令 db.getCollection('example_data_1').find().limit(4)
对查询结果进行排序——“sort()”命令 db.getCollection('example_data_1').find({'age': {'$gt':
21}}).sort({'age': -1})
更新集合中的单条数据 db.getCollection("example_data_1").updateMany(
{"name":"王小六"},
{"$set":{"address":"苏州","work":"工程师"}}
)
查询字段“hello”中值为“world”的这一条记录 db.getCollection('example_data_1').find({'hello': 'world'})

除所有满足要求的数据
db.getCollection('example_data_1').deleteMany({'hello': 'world'})
对“age”字段去重 db.getCollection('example_data_1').distinct('age')
对“age”大于等于24的记录的“age”字段去重 db.getCollection("example_data_1").distinct(
"age",
{"age":{"$gte":24}}
)

慎用删除功能。一般工程上会使用“假删除”,即:在文档里面
增加一个字段“deleted”,如果值为0则表示没有删除,如果值为1则
表示已经被删除了。

默认情况下,deleted字段的值都是0,如需要执行删除操作,则
把这个字段的值更新为1。而查询数据时,只查询deleted为0的数据。
这样就实现了和删除一样的效果,即使误操作了也可以轻易恢复

《左手MongoDB右手Redis》第3章笔记-robo3t上进行增删改查相关推荐

  1. Mysql学习笔记(六)增删改查

    原文:Mysql学习笔记(六)增删改查 PS:数据库最基本的操作就是增删改查了... 学习内容: 数据库的增删改查 1.增...其实就是向数据库中插入数据.. 插入语句 insert into tab ...

  2. mongodb不等于某个值_MongoDB的安装以及基本增删改查命令

    MongoDB 介绍 mongodb 和大多数NoSQL 数据库(redis,memcached 等)一样,都是以 kv数据库(key/value) 存储数据 不同的是mongodb 文档数据库,存储 ...

  3. Mybatis学习笔记【part03】增删改查

    Mybatis 学习笔记 Part03 1.传入参数与返回参数设置(查) <!-- 根据 id 查询 --> <select id="findById" resu ...

  4. MongoDB笔记之简单的增删改查

    集合创建: db.createCollection("test_col,",{capped:true, size:10})# "test_col" 表名字(集合 ...

  5. mongodb对数组元素及内嵌文档进行增删改查操作(转)

    from:https://my.oschina.net/132722/blog/168274 比如我有一个user类,他包含一个标签属性,这个标签是一个数组,数组里面的元素是内嵌文档,格式如下: &l ...

  6. 【数据库学习笔记】——操作sqlite(增删改查)以及cursor的方法介绍

    目录 1.sqlite数据库介绍 1)常见的数据库操作 2)数据操作常见步骤 2.向数据表中增加数据(insert into) 1)向数据表中添加一条记录 2)向数据表中一次性添加多条记录 ​ 3.修 ...

  7. dat文本导入mysql_mysql学习笔记(九) 增删改查的优化

    一.大批量插入数据当使用load命令导入数据的时候,可以适当的提高导入的速度.对于myisam存储引擎的表可以通过下述方法快速的导入大量的数据. Alter table tablename disab ...

  8. 【学习笔记】mongoDB初步(一)MongoDB的安装和增删改查基本语法,使用和命令

    MongoDB适合储存大量关联性不强的数据. MongoDB中的数据以"库"-"集合"-"文档"-"字段"结构进行储 存 ...

  9. mongodb学习笔记之增删改查作指令

    1: mongo入门命令 1.1: show dbs  查看当前的数据库 1.2 use databaseName 选库 1.2 show tables/collections 查看当前库下的coll ...

最新文章

  1. 特殊SQL语句及优化原则
  2. ubuntu16.04: mininet下使用ryu当做控制器
  3. POJ1321 棋盘问题(DFS)
  4. Spring Boot 如何快速改造老项目?
  5. 开始学习3年前的东西——MCMS
  6. 19岁「天才少年」自制CPU!1200个晶体管,纯手工打造
  7. fifo java_java – 如何保证ThreadPoolExecutor中的FIFO执行顺序
  8. IOS图像拉伸解决方案
  9. 面试没过的程序员都到哪去了?
  10. 清理注册表 php,cad注册表怎么删干净
  11. breadweb控制台下载_路由器刷breed web控制台通用版
  12. Spring Boot为什么不需要额外安装Tomcat?
  13. markdown特殊符号语法
  14. 怎么更新计算机显卡,显卡驱动怎么更新
  15. Flume-ng配置
  16. (数据库系统概论|王珊)第一章绪论:习题
  17. python 提取pdf格式电子发票并改名
  18. can总线短距离不用双绞线_can总线(一)物理层—屏蔽双绞线
  19. 揭秘 vivo 如何打造千万级 DAU 活动中台
  20. CentOS 7安装配置vsftp并搭建FTP(一)

热门文章

  1. 1021. 个位数统计 (15)
  2. [转载]We Recommend a Singular Value Decomposition
  3. 十进制与二进制八进制十六进制的相互转换
  4. JavaScript 表单验证
  5. Direct3D中设备丢失处理
  6. 探索 ASP.NET Futures (Part 2 - Search Enabled)
  7. 使用net start mysql命令后出现“MySQL 服务正在启动 . MySQL 服务无法启动。 服务没有报告任何错误。”问题的解决办法
  8. JQuery中的样式操作
  9. Navicat连接成功忘记密码-查看密码
  10. 在线场景感知:图像稀疏表示-ScSPM和LLC总结(lasso族、岭回归)