mongodb增删改查常用命令总结
前言
去年我还折腾过mongodb,后来用不到也就没碰了,这就导致了我忘的一干二净,不得不感叹,编程这东西只要不用,就会忘没了。现在我想重拾mongodb,来总结一下常用命令,主要就是增删改查。
另外,关于mongodb数据的安装配置,我就不赘述了,推荐我之前写过的两篇博客:
接下来,我直奔主题咯~
新建数据库
创建之前,我们看看当前有哪些数据库,使用:
show dbs
接下来创建一个新的数据库:
// 使用这个数据库,没有则会创建
use test // 此时还没有创建成功,只有在其中创建一个集合时,这个新数据库才会创建成功
db.user.insert({"name":"wj","age":}) // 上面命令在test数据库里新建了一个user集合,并插入了数据,此时再执行show dbs ,已经有了test数据库
插入(增加)数据
前面已经提及了,格式如下:
db.集合名.insert({"name":"wj"})
注意在使用这条命令前,要切换到对应数据库,比如:
use test
这样新增的集合就在这个数据库下,可以使用命令:
show collections
来查看当前数据库下有哪些集合
删除
1. 删除当前数据库
db.dropDatabase()
2. 删除集合
db.集合名.drop()
3. 删除数据
db.集合名.remove(条件) // 比如要删除user集合下name为wj的数据,则
db.user.remove({"name":"wj"})
修改
修改前要按条件查找的,例如我要把名为小明的同学的年龄修改为3岁,那么命令如下:
db.user.update({"name":"小明"}, {$set:{"age":}})
// 上面命令的格式
db.集合名.update({条件}, {$set:{修改的值}})
注意花括号不要写错,另外加上$set是修改,如果不加的话,就是后面的替换前面的,如:
// 修改前
{ "name":"小明"} // 修改
db.user.update({"name":"小明"},{"age":}) // 修改后
{ "age":}
默认情况下,只会修改满足条件的第一条数据,如果希望修改所有满足条件的数据,加上{multi:true},如:
db.user.update({"sex":"男"}, {$set:{"age":}}, {multi:true})
查找
关于查询的方式就比较多啦。敲命令时,多注意符号的书写。
1. 查询集合下所有数据
db.user.find() //user是集合名
2. 查询 age == 20 的数据
db.user.find({"age":})
3. 查询 age > 20 的数据 (大于)
db.user.find({"age":{$gt:}})
4. 查询 age < 20 的数据 (小于)
db.user.find({"age":{$lt:}})
5. 查询 age >= 30 的数据 (大于或等于)
db.user.find({"age":{$gte:}})
6. 查询 age <= 30 的数据 (小于或等于)
db.user.find({"age":{$lte:}})
7. 查询 age >= 20 并且 age <= 30 的数据 (且)
db.user.find({"age":{$gte:,$lte:}})
8. 查询 name 中包含 wj 的数据
db.user.find({"name":/wj/})
9. 查询 name 中以 w 开头的数据
db.user.find({"name":/^w/})
10. 查询指定列的数据
// 只查看name列
db.user.find({},{"name":}) // 只查看age列
db.user.find({},{"age":}) // 只查看name和age列
db.user.find({},{"name":,"age":})
11. 查询指定列的数据,带条件(age > 20)
db.user.find({"age":{$gt:}},{"name":,"age":})
12. 排序
// 按照年龄来排序
db.user.find().sort({"age":}) // 升序
db.user.find().sort({"age":-}) // 降序
13. 多条件查询
db.user.find({"name":"wj","age":})
// 应该好理解,查询同时满足这两个条件的数据,前面忘记说了
14. 查询前三条数据
db.user.find().limit()
15. 查询五条之后的数据
db.user.find().skip() // 好理解,跳过前5条,显示的就是五条之后的数据
16. 查询 5-10 之间的数据
db.user.find().skip().limit()
17. 或 查询
db.user.find({$or:[{"age":},{"age":}]})
18.查询第一条数据
db.user.findOne() //这样也可以哦
db.user.find().limit()
总结
建议上面每条命令都自己试试,如果不成功,注意符号的书写是否正确,尤其是花括号。当然很可能是我手滑写错了,希望知道的人给我指出哦,谢谢。
mongodb增删改查常用命令总结的更多相关文章
- HBase数据库增删改查常用命令操作
最近测试用到了Hbase数据库,新建一个学生表,对表进行增删改查操作,把常用命令贴出来分享给大家~ 官方API:https://hbase.apache.org/book.html#quickstar ...
- Mysql数据库基础增删改查常用语句命令
Mysql增删改查常用语句命令 一.增删改查语句总览 创建: create(创建数据库) 增:insert(插入表数据) 删:drop.delete(删除表.删除表数据) 改:update.alter ...
- 数据库——MongoDB增删改查
MongoDB增删改查操作 本文包含对数据库.集合以及文档的基本增删改查操作 数据库操作 #1.增 use config #如果数据库不存在,则创建并切换到该数据库,存在则直接切换到指定数据库. #2 ...
- MongoDB - 增删改查及聚合操作
目录 MongoDB - 增删改查及聚合操作 一. 数据库操作(database) 1. 创建及查看库 2. 删除库 二. 集合collectionc=操作(相当于SQL数据库中的表table) 1. ...
- MySQL增删改查常用语句命令
增删改查语句增删改查的语句命令为 增:insert删:delete改:update查:SELECT或者show 库操作创建数据库:create database shujukuba;创建带字符集的数据 ...
- MongoDB增删改查表文档
MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写,是一个基于分布式文件存储的开源数据库系统.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关 ...
- mongodb增删改查操作
Note:mongodb存储的是文档,且文档是json格式的对象,所以增删改查都必须是json格式对象. 注:mongodb常用库和表操作,但mongodb在插入数据时,不需要先创建表. show d ...
- [MongoDB]增删改查
摘要 上篇文章学习了mongodb在windows上的安装,以及如何开启mongodb,最后列举了简单的增删改查操作.本篇将继续深入学习一下增删改查. 相关文章 [MongoDB]入门操作 CRUD ...
- springMVC操作mongoDB增删改查
下面是mongoDb简单的增删改查(新闻类) 附:query.addCriteria(Criteria.where("modelId").ne("").ne(n ...
随机推荐
- docker和Dockerfile
目录: 1.docker为什么会出现? 2.docker的理念 3.容器化技术 4.docker三要素 5.docker安装 6.docker帮助命令 7.Docker阿里云镜像加速器配置. 8.do ...
- k8s删除节点后再重新添加进去(踩坑)
开启本地集群,发现一台节点出问题了,想删除再换一台节点,结果就踩坑了,还好本地有好几套环境. 再master节点执行以下命令 [root@k8s-master ~]# kubectl drain k8 ...
- 广工2017校赛-F-- tmk找三角
http://gdutcode.sinaapp.com/problem.php?cid=1056&pid=5 Description 有一棵树,树上有只tmk.他在这棵树上生活了很久,对他的构 ...
- HDU 3468:A Simple Problem with Integers(线段树+延迟标记)
A Simple Problem with Integers Case Time Limit: 2000MS Description You have N integers, A1, A2, ... ...
- Android_(游戏)打飞机04:绘画敌机、添加子弹
(游戏)打飞机01:前言 传送门 (游戏)打飞机02:游戏背景滚动 传送门 (游戏)打飞机03:控制玩家飞机 传送门 (游戏)打飞机04:绘画敌机.添加子弹 传送门 (游戏)打飞机05:处理子弹, ...
- [清华集训2016]温暖会指引我们前行——LCT+最大生成树
题目链接: [清华集训2016]温暖会指引我们前行 题目大意:有$n$个点$m$次操作,每次操作分为三种:1.在$u,v$两点之间连接一条编号为$id$,长度为$l$,温度为$t$的边.2.查询从$u ...
- 通过JVM日志来进行安全点分析
许多事件都可能会导致JVM暂停所有的应用线程.这类暂停又被称为”stop-the-world”(STW)暂停.触发STW暂停最常见的原因就是垃圾回收了(github中的一个例子),但不同的JIT活动( ...
- 记一次elastic-job使用
当当的elastic-job定时任务 业务场景是定时从微信取accesstoken和jsticket,因为都只有7200秒的有效时间,所以设置了定时任务,定时将得到的数据存到redis缓存中 问题1: ...
- 第八周课程总结 & 实验报告(六)
第八周课程总结 一.包装类 介绍 装箱与拆箱 应用 二.异常 基本概念 基本格式 异常类的继承结构 throws关键字 throw关键字 Exception类和RuntimeException类 自定 ...
- spark streaming 1: SparkContex
StreamingContext 和SparkContex的用途是差不多的,作为spark stream的入口,提供配置.生成DStream等功能. 总体来看,spark stream包括如下模块: ...