• 增加单篇文档
  1. > db.stu.insert({sn:'001', name:'lisi'})
  2. WriteResult({ "nInserted" : 1 })
  3. > db.stu.find()
  4. { "_id" : ObjectId("572f4fcf3c8cf279cf89ad19"), "sn" : "001", "name" : "lisi" }
  5. >
  • 增加单篇文档并指定id
  1. > db.stu.insert({_id:2, sn:'002', name:'ql'})
  2. WriteResult({ "nInserted" : 1 })
  3. >
  4. > db.stu.find()
  5. { "_id" : ObjectId("572f4fcf3c8cf279cf89ad19"), "sn" : "001", "name" : "lisi" }
  6. { "_id" : 2, "sn" : "002", "name" : "ql" }
  7. >
  • 增加多篇文档, 注意中括号[]
  1. > db.stu.insert([{name:'a', gender:0},{name:'b', gneder:0},{name:'c', gender:1},{name:'d',gender:1}])
  2. BulkWriteResult({
  3. "writeErrors" : [ ],
  4. "writeConcernErrors" : [ ],
  5. "nInserted" : 4,
  6. "nUpserted" : 0,
  7. "nMatched" : 0,
  8. "nModified" : 0,
  9. "nRemoved" : 0,
  10. "upserted" : [ ]
  11. })
  12. >
  13. > db.stu.find()
  14. { "_id" : ObjectId("572f56ca3c8cf279cf89ad23"), "name" : "a", "gender" : 0 }
  15. { "_id" : ObjectId("572f56ca3c8cf279cf89ad24"), "name" : "b", "gender" : 0 }
  16. { "_id" : ObjectId("572f56ca3c8cf279cf89ad25"), "name" : "c", "gender" : 1 }
  17. { "_id" : ObjectId("572f56ca3c8cf279cf89ad26"), "name" : "d", "gender" : 1 }
  18. >

删除数据库

  1. db.dropDatabase()

删除集合

  1. db.collection_name.drop()

删除文档中某条记录, db.collection.remove(查询表达式, 选项)

查询表达式

  • 仍然是json对象
  • 查询表达式匹配的行将被删掉
  • 如果不写, 这个collection将被删掉

选项

  • 指justOne:true, 是否只删除一行, 默认为false
  1. > db.stu.find()
  2. { "_id" : ObjectId("572f4fcf3c8cf279cf89ad19"), "sn" : "001", "name" : "lisi" }
  3. { "_id" : 2, "sn" : "002", "name" : "ql" }
  4. { "_id" : 3, "sn" : "003", "name" : "zhangfei" }
  5. >
  6. > db.stu.remove({sn:'002'})
  7. WriteResult({ "nRemoved" : 1 })
  8. >
  9. > db.stu.find()
  10. { "_id" : ObjectId("572f4fcf3c8cf279cf89ad19"), "sn" : "001", "name" : "lisi" }
  11. { "_id" : 3, "sn" : "003", "name" : "zhangfei" }
  12. >
  1. > db.stu.find()
  2. { "_id" : ObjectId("572f57c83c8cf279cf89ad27"), "name" : "a", "gender" : 0 }
  3. { "_id" : ObjectId("572f57c83c8cf279cf89ad28"), "name" : "b", "gender" : 0 }
  4. { "_id" : ObjectId("572f57c83c8cf279cf89ad29"), "name" : "c", "gender" : 1 }
  5. { "_id" : ObjectId("572f57c83c8cf279cf89ad2a"), "name" : "d", "gender" : 1 }
  6. >
  7. >
  8. > db.stu.remove({gender:0}) #把匹配到的全部删掉
  9. WriteResult({ "nRemoved" : 2 })
  10. >
  11. > db.stu.find()
  12. { "_id" : ObjectId("572f57c83c8cf279cf89ad29"), "name" : "c", "gender" : 1 }
  13. { "_id" : ObjectId("572f57c83c8cf279cf89ad2a"), "name" : "d", "gender" : 1 }
  14. >
  15. > db.stu.remove({gender:1}, true) #加参数true, 表示只删除一项
  16. WriteResult({ "nRemoved" : 1 })
  17. >
  18. > db.stu.find()
  19. { "_id" : ObjectId("572f57c83c8cf279cf89ad2a"), "name" : "d", "gender" : 1 }
  20. >

update操作

该谁, 改成什么样

语法: db.collection.update(查询表达式, 新值, 选项)

  1. > db.stu.find()
  2. { "_id" : ObjectId("572f57c83c8cf279cf89ad2a"), "name" : "d", "gender" : 1 }
  3. >
  4. >
  5. >
  6. >
  7. >
  8. > db.stu.update({name:'d'}, {name:'zhangsan'})
  9. WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
  10. >
  11. > db.stu.find()
  12. { "_id" : ObjectId("572f57c83c8cf279cf89ad2a"), "name" : "zhangsan" }
  13. >

改完后gender已经消失了, 因为是新文档直接替换旧文档, 而不是修改

加上$set参数

  1. > db.stu.find()
  2. { "_id" : ObjectId("572f59e23c8cf279cf89ad2b"), "name" : "a", "gender" : 0 }
  3. { "_id" : ObjectId("572f59e23c8cf279cf89ad2c"), "name" : "b", "gender" : 0 }
  4. { "_id" : ObjectId("572f59e23c8cf279cf89ad2d"), "name" : "c", "gender" : 1 }
  5. { "_id" : ObjectId("572f59e23c8cf279cf89ad2e"), "name" : "d", "gender" : 1 }
  6. >
  7. >
  8. > db.stu.update({name:'a'}, {$set:{name: 'zhangsan'}})
  9. WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
  10. >
  11. > db.stu.find()
  12. { "_id" : ObjectId("572f59e23c8cf279cf89ad2b"), "name" : "zhangsan", "gender" : 0 }
  13. { "_id" : ObjectId("572f59e23c8cf279cf89ad2c"), "name" : "b", "gender" : 0 }
  14. { "_id" : ObjectId("572f59e23c8cf279cf89ad2d"), "name" : "c", "gender" : 1 }
  15. { "_id" : ObjectId("572f59e23c8cf279cf89ad2e"), "name" : "d", "gender" : 1 }
  16. >

如果要修改多条文档, 则添加{multi: true}

  1. > db.stu.update({gender:1}, {$set:{name:'zzzzzzz'}}, {multi:true})
  2. WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })
  3. >
  4. > db.stu.find().pretty()
  5. {
  6. "_id" : ObjectId("572f59e23c8cf279cf89ad2b"),
  7. "name" : "zhangsan",
  8. "gender" : 0
  9. }
  10. { "_id" : ObjectId("572f59e23c8cf279cf89ad2c"), "name" : "b", "gender" : 0 }
  11. {
  12. "_id" : ObjectId("572f59e23c8cf279cf89ad2d"),
  13. "name" : "zzzzzzz",
  14. "gender" : 1
  15. }
  16. {
  17. "_id" : ObjectId("572f59e23c8cf279cf89ad2e"),
  18. "name" : "zzzzzzz",
  19. "gender" : 1
  20. }
  21. >
  • rename : 重命名某个列
  • inc : 增长, 相当于+=. inc只能用于操作数值类型的数据
  1. > db.stu.find()
  2. { "_id" : ObjectId("572f4e8b3c8cf279cf89ad18"), "name" : "zzzz", "age" : 29 }
  3. >
  4. >
  5. > db.stu.update({'name':'zzzz'}, {$inc:{'age':11}})
  6. WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
  7. >
  8. > db.stu.find()
  9. { "_id" : ObjectId("572f4e8b3c8cf279cf89ad18"), "name" : "zzzz", "age" : 40 }
  10. >
  • set : 设置新的字段的值
  • unset : 删除指定的列
  1. > db.stu.find()
  2. { "_id" : ObjectId("572f5ece3c8cf279cf89ad3e"), "name" : "a", "age" : 20, "sex" : 1, "hobby" : "basketball" }
  3. >
  4. >
  5. > db.stu.update({name:'a'}, {$set:{name:'lisi'}})
  6. WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
  7. >
  8. > db.stu.find()
  9. { "_id" : ObjectId("572f5ece3c8cf279cf89ad3e"), "name" : "lisi", "age" : 20, "sex" : 1, "hobby" : "basketball" }
  10. >
  11. > db.stu.update({name:'lisi'}, {$unset:{age:20}})
  12. WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
  13. >
  14. > db.stu.find()
  15. { "_id" : ObjectId("572f5ece3c8cf279cf89ad3e"), "name" : "lisi", "sex" : 1, "hobby" : "basketball" }
  16. >
  17. > db.stu.update({name:'lisi'}, {$rename:{sex:"gender"}})
  18. WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
  19. >
  20. > db.stu.find()
  21. { "_id" : ObjectId("572f5ece3c8cf279cf89ad3e"), "name" : "lisi", "hobby" : "basketball", "gender" : 1 }
  22. >
  23. >

增加upsert参数, 没有这行就增加

  1. > db.stu.update({name:'ggg'},{$set:{name:'hhh'}},{upsert:true})
  2. WriteResult({
  3. "nMatched" : 0,
  4. "nUpserted" : 1,
  5. "nModified" : 0,
  6. "_id" : ObjectId("572f60f331e6f9c53c1d493a")
  7. })
  8. >
  9. > db.stu.find()
  10. { "_id" : ObjectId("572f5ece3c8cf279cf89ad3e"), "name" : "lisi", "hobby" : "basketball", "gender" : 1 }
  11. { "_id" : ObjectId("572f60f331e6f9c53c1d493a"), "name" : "hhh" }
  12. >

  • db.collection.find()

    查询所有文档所有内容
  • db.collection.find().pretty()

    查询所有文档所有属性并格式化输出
  • db.collection.find({},{demo:1})

    查询所有文档的demo属性(_id属性总是默认查出来)
  • db.collection.find({},{demo:1, _id:0})

    查询所有文档的demo属性(去除_id属性)

MongoDB增 删 改 查的更多相关文章

  1. 好用的SQL TVP~~独家赠送[增-删-改-查]的例子

    以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化.  本系列主要是针对T-SQL的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础] ...

  2. iOS FMDB的使用(增,删,改,查,sqlite存取图片)

    iOS FMDB的使用(增,删,改,查,sqlite存取图片) 在上一篇博客我对sqlite的基本使用进行了详细介绍... 但是在实际开发中原生使用的频率是很少的... 这篇博客我将会较全面的介绍FM ...

  3. iOS sqlite3 的基本使用(增 删 改 查)

    iOS sqlite3 的基本使用(增 删 改 查) 这篇博客不会讲述太多sql语言,目的重在实现sqlite3的一些基本操作. 例:增 删 改 查 如果想了解更多的sql语言可以利用强大的互联网. ...

  4. django ajax增 删 改 查

    具于django ajax实现增 删 改 查功能 代码示例: 代码: urls.py from django.conf.urls import url from django.contrib impo ...

  5. ADO.NET 增 删 改 查

    ADO.NET:(数据访问技术)就是将C#和MSSQL连接起来的一个纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中 也可以将数据库中的数据提取到内存中供程序调用 ADO.NET所有数据访 ...

  6. MVC EF 增 删 改 查

    using System;using System.Collections.Generic;using System.Linq;using System.Web;//using System.Data ...

  7. python基础中的四大天王-增-删-改-查

    列表-list-[] 输入内存储存容器 发生改变通常直接变化,让我们看看下面列子 增---默认在最后添加 #append()--括号中可以是数字,可以是字符串,可以是元祖,可以是集合,可以是字典 #l ...

  8. Java操作MongoDB:连接&增&删&改&查

    1.连接 ①方式一 MongoClientOptions.Builder builder = MongoClientOptions.builder(); //可以通过builder做各种详细配置 Mo ...

  9. 简单的php数据库操作类代码(增,删,改,查)

    这几天准备重新学习,梳理一下知识体系,同时按照功能模块划分做一些东西.所以.mysql的操作成为第一个要点.我写了一个简单的mysql操作类,实现数据的简单的增删改查功能. 数据库操纵基本流程为: 1 ...

随机推荐

  1. 集成python双版本详解

    最近要准备学习Python,由于版本上的差异,不知道要学哪个,现在好多东西都是基于python2基础的,但是python2在2020年左右就可能停止了,所以干脆决定两个都装上吧!   首先上官网上下载 ...

  2. MiniProfiler使用点滴记录-2017年6月23日11:08:23

    1.看似针对同样一段查询表ef达式,重复执行却没有被记录下来.其实这是正常情况,因为ef并没有重复去执行 相同sql查询. 2.MiniProfiler结合MVC过滤器进行 拦截记录Sql,示例代码: ...

  3. 调用phprpc的时候出现Fatal error: Cannot redeclare gzdecode()

    出现这个问题的原因是:php在5.4版本后,已经自包含了gzdecode()函数,开发者自己定义的gzdecode()函数会与其冲突. 在 ....\phpRPC\compat.php文件的第72行( ...

  4. [leetcode-530-Minimum Absolute Difference in BST]

    Given a binary search tree with non-negative values, find the minimum absolute difference between va ...

  5. 10.application对象

    1.application对象实现了用户数据的共享,可存放全局变量 2.application开始于服务器的启动,终止于服务器的关闭. 3.在用户的前后连接或不同用户之间的连接中,可以对applica ...

  6. 2.如何实现使用VBS脚本程序对直播间自动评论

    前言:本文使用的是VBS脚本,实现了对繁星直播自动登录,自动进入房间并且自动评论. 前提准备:把需要刷的评论放到mysql中,再使用vbs读出评论 -------------------------- ...

  7. 5.Smart使用内置函数或者自定义函数

    1.使用内置函数 例如使用date函数 {"Y-m-d"|date:$time}格式{第一个参数|方法:第二个参数:第三个参数}即可转换成 2016-07-19  2.使用resi ...

  8. 在使用<script>嵌入JavaScript代码时,不要在代码中的任何地方出现"</script>"字符串

    在使用<script>嵌入JavaScript代码时,记住不要在代码中的任何地方出现"</script>"字符串.例如浏览器执行下面代码会报错: <s ...

  9. springmvc的POST 请求转为 DELETE 或 put 请求配置HiddenHttpMethodFilter

    1.web.xml里配置 <!-- 配置 org.springframework.web.filter.HiddenHttpMethodFilter: 可以把 POST 请求转为 DELETE ...

  10. CSS使用心得小结

    CSS心得 最近对CSS的使用有一些小心得,在此写下来给大家分享分享 .最后附上选择器的实例代码. ------DanlV CSS是什么 层叠样式表(英文全称:Cascading Style Shee ...