MongoDB学习(二)
MongoDB基本操作
查看数据库
语法: show databases
选择数据库
- 语法:use 数据库名
- 注意:在MongoDB中选择不存在的数据库不会报错,后期当该数据库有数据时,系统会自动创建,这叫隐式创建
查看集合
语法:show collections
创建集合
语法:db.createCollection("集合名")
删除集合
语法:db.集合名.drop()
删除数据库
注:方法很多,只写一种
步骤一:通过use语法选中数据库
步骤二:通过db.dropDatabase()即可删除所选中的数据库
MongoDB文档增删改查操作(CRUD)
cmd中清屏操作:cls(有需要可以使用)
1、集合中插入数据
首先: cmd进入mongodb安装目录下的bin目录下mongo命令启动mongodb
- 语法:db.集合名.insert(JSON数据)
- 例:db.c1.insert({uname:"hhs",age:18})
- 查看集合数据的语法:db.c1.find()
- 说明:集合存在,则直接插入数据 集合不存在-隐式创建
插入多条记录的方法:
db.c1.insert([
{uname:"z1",age:20},
{uname:"z2",age:16},
{uname:"z3",age:25}
])
快速插入10条数据
说明:mongodb底层使用JS引擎实现的,所以支持部分js语法,因此可以写for循环
for(var i=1;i<10;i++){
db.c1.insert({uname:"a"+i,age:i})
}
2、查询集合中的数据
基础语法:db.集合名.find(条件,查询的列 )
条件:
1、查询所有的数据:{} 或者不写
2、查询age=6的数据: {age=6}
3、既要age=6又要性别='男': {age:6,sex:'男'}
查询的列(可选参数):
1、不写 这查询全部的列字段
2、{age:1} 只显示age列字段
3、{age:0} 除了age列都显示
4、注意:不管你怎么写,系统自定义的_id都会在
语法升级
db.集合名.find({键:值}) 注:值不直接写
db.集合名.find({
键:{运算符:值}
})
例:db.c1.find({age:{$gt:5} },{uname:1}) 查询年龄大于5的人
db.c1.find({age:{$in:[5,8,10]} },{uname:1}) 查询年龄等于5,8,10的人
| 运算符 | 作用 |
|---|---|
| $gt | 大于 |
| $gte | 大于等于 |
| $lt | 小于 |
| $lte | 大于 |
| $ne | 不等于 |
| $in | in |
| $nin | not in |
3、修改集合数据
基础语法:db.集合名.update(条件,新数据,是否新增,是否修改多条)
第三个第四个参数讲解,可写可不写,根据需要来:
是否新增:指的是条件匹配不到的数据则插入,true是插入,false是表示不插入(默认)
是否修改多条:指将匹配成功的数据都修改(true是,false否(默认))
升级语法:
先看这种语法:db.c3.update({uname:"zs1"},{uname:"zs2"})
如上方法默认不是修改,而是替换
解决办法:使用升级语法,修改器
db.集合名.update(条件,新数据)
{修改器:{键:值} }
例: db.c3.update({uname:"zs2"},{$set:{uname:"zs22"} }) 通过修改器避免数据被替换
db.c3.update({uname:"zs10"},{$inc:{age:12} })
| 修改器 | 作用 |
|---|---|
| $inc | 递增 |
| $rename | 重命名列 |
| $set | 修改列值 |
| $unset | 删除列 |
修改器综合练习:
先插入一条数据:db.c3.insert({uname:"666",age:888,sex:'男',other:"外国人"})
修改语句:db.c3.update({uname:"666"},{$set:{uname:"张无忌"},$inc:{age:111},$rename:{sex:'sexx'},$unset:{other:true} })
解释:将c3集合中uname为666的数据中uname改为张无忌,age增加111,rename的列值sex改为sexx,删除掉了other这个列
4、删除集合数据
语法:
db.集合名.remove(条件,是否删除一条)
例:db.c3.remove({uname:"zs10"},true)
是否删除一条:true是,false否
如果为false则全部删除,默认就为false
MongoDB学习(二)的更多相关文章
- mongodb学习(二)分级查询数组中的值
(PS: 标题有点不妥当...) 大概是这样...数据结构如下: 需要模糊查询title的值... mongodb中操作语句: 主要是注意这里urlElements不需要加[0]...我开始的时候写成 ...
- mongodb 学习二
基本操作 增删改查实一个数据库必备的操作,接下来我们就说说怎么在shell下进行增删改查. 我们另外打开一个"命令指示符"窗口(注意:之前的不能关闭),输入mongo打开Mongo ...
- mongodb学习(二)
昨天给ubuntu13.04安装ati的显卡驱动,ubuntu本来对ati的显卡支持不是很好,没办法unity启动器没有了,ccsm也没有任何作用,只得重新安装了12.10,近期也不打算升级13.04 ...
- MongoDB学习:(二)MongoDB简单使用
MongoDB学习:(二)MongoDB简单使用 MongoDB使用: 执行mongodb的操作之前,我们需要运行命令,来进入操作命令界面 >mongo 提示该错误,说明我们系统缺少一个补丁,该 ...
- MongoDB学习总结(二)
前言:学习札记! MongoDB学习总结(二) 1. 安装.初识 之前写过一篇MongoDB的快速上手文章,里边详细的讲了如何安装.启动MongoDB,这里就不再累述安装过程,简单介绍一下Mongo ...
- MongoDB学习笔记二- Mongoose
MongoDB学习笔记二 Mongoose Mongoose 简介 之前我们都是通过shell来完成对数据库的各种操作, 在开发中大部分时候我们都需要通过程序来完成对数据库的操作 而Mongoose就 ...
- MongoDB学习笔记(二)--Capped集合 && GridFS存储文件
Capped集合 Capped集合的大小是固定的,如果空间都被用完了,新添加的对象 ...
- 【MongoDB学习之二】MongoDB数据库、文档、集合、元数据
环境 MongoDB 4.0 CentOS6.5_x64 一.连接语法格式: mongodb://[username:password@]host1[:port1][,host2[:port2],.. ...
- Mongodb学习笔记一(Mongodb环境配置)
Mongodb学习 说明: MongoDB由databases组成,database由collections组成,collection由documents组成,document由fileds组成.Mo ...
- MongoDB学习记录
一.操作符 "$lt" :"<""$lte" :"<=""$gt" :"> ...
随机推荐
- OpenLayers 4326地图 根据距离设置地图分辨率
问题:给一个距离,如何确定4326地图缩放等级或者分辨率使地图视口范围为这个距离 我本来打算计算从地图视口左上角到右下角的距离来计算地图缩放的,然后发现不好算,我也不会算,于是就计算水平方向距离的缩放 ...
- oracle - [01] 安装部署
超级详细的Oracle安装图文详解!手把手教会您从下载到安装! https://blog.csdn.net/weixin_46329056/article/details/125451601
- Hive - [08] 数据仓库物理模型设计
分区 分区是将表的数据按照某个列的值进行划分和存储的一种方式.通过分区,可以将数据按照特定的维度进行组织,提高查询效率和数据管理的灵活性. 一.分区的优势 提高查询性能:通过分区,可以将数据按照特定的 ...
- docker - [11] 数据卷之DockerFile
通过DockerFile可以生成一个镜像 一.DockerFile的介绍 狂神:dockerfile是用来构建docker镜像的文件命令参数脚本. 狂神:dockerfile是面向开发的,我们以后要发 ...
- CF889E题解
\(\text{Problem - 889E - Codeforces}\) \(\text{*3000}\) 修正 感谢学长 \(\text{fs}\) 指出状态数原因解释的错误. 题意 给一个序列 ...
- 题解:SP6517 JOCHEF - Farmer Sepp
怎么题解全是 dp?可以用笛卡尔树啊! 题目传送门. 笛卡尔树的介绍 笛卡尔树,是一种二叉搜索树,它满足如下条件: 每个节点的编号满足二叉搜索树的性质. 每个节点的权值满足小根堆或大根堆的性质. 大概 ...
- 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
大家好!今天给大家带来一个好消息,Dapr(Distributed Application Runtime)1.15版本正式发布啦!对于不熟悉Dapr的朋友来说,Dapr是一个开源的.跨平台的运行时, ...
- 数据库离程序员有多远 - cnblogs救园行动感想
这两周,我参与了博客园的"2024救园行动",成了终身会员.说实话,当初报名的时候,我心里还挺兴奋的,想着这下能和不少老朋友在这个社区里再次相聚.毕竟,在数据库行业摸爬滚打了这么多 ...
- LCP 1. 猜数字
地址:https://leetcode-cn.com/problems/guess-numbers/ <?php /** 小A 和 小B 在玩猜数字.小B 每次从 1, 2, 3 中随机选择一个 ...
- 【Ryan】: linux下安装ftp
在 Linux 系统下安装 FTP 服务器可以使用多种软件,其中最常见的是 vsftpd(Very Secure FTP Daemon)和 ProFTPD(Professional FTP Daemo ...