mongoDB
软件介绍
mongodb。。。。。=======数据库软件
robomongo-----========第三方可视化软件
mongoDB基础.md====特殊的记事本
typora、、、、、==安装包 ===
了解mongoDB的下载方式
下载地址:3.4
注意mongodb事项
-
不能改目录
-
不提供快捷方式 C:\Program Files\MongoDB\Server\3.4\bin
-
mongod.exe 开启数据库
-
mongo操作数据
必须配置
在mongoDB程序安装的根目录下创建data文件夹--再创建db文件夹
数据库结构:mongDB是一个程序 ,创建多个数据库--集合--数据,
数据库操作
-
创建数据库
-
use secend 切换使用的数据库---数据不存在,会自动创建
-
-
删除数据库
-
db.dropDatabase()
-
注意:删除以后要切换到其他数据库,不然因为还在使用删除的数据库,再进行数据插入,被删除的数据库又回来了。
-
-
db //查看正在使用的数据库
-
show dbs //查看所有(非空)数据库
-
show collections//查看当前正在使用的数据库中的所有集合
集合的操作
-
创建
-
删除 db.*.drop() 删除指定的集合
文档的操作
增加数据
-
db.*.insert({}) 插入一条数据
-
db.*.insertOne({}) 插入一条数据
-
db.*.insertMany([{},{}]) 插db入多条数据
查找数据
-
db.*.find() //没加条件,代表查看所有数据
作业:删除上课创建的所有数据库
创建student数据库--student--3 姓名 年龄
-
db.find({name:"王小双"}) 查询拥有指定数据的文档
-
db.find({name:"王小双",age:18}) 查询拥有指定数据的文档
-
判断数据与大小查找
-
age:19 查找等于某个值
-
age:{$gt:18} 查找age中数据大于18的文档
-
$gte >=
-
$lt <
-
$lte <=
-
$ne != 不等于
-
-
格式化数据:调整数据的显示方式
-
db.studentExam.find().pretty()
-
-
or条件查找
db.*.find({ $or:[ {key1:value}, {key2:value} ] })
更改数据
更改与删除数据都是在查找的基础上进行,因为不管是更改还是删除,都是依据条件将制定数据查找出来之后再执行相应的操作。
更新是数据 update():用来更新已经存在文档,基本的使用语法为
db.*.update( <query>{}, <update>{}, { upsert: <boolean>,//false--不插入 multi: <boolean>,//false--第一条 } )
-
query : update的查询条件,类似sql update查询内where后面的。
-
update : update的对象和一些更新的操作符(如inc...)等,也可以理解为sql update查询内set后面的
-
upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
也就是查找到空,是否将数据作为新的文档插入。
-
multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
-
writeConcern :可选,抛出异常的级别。
查询姓名为张媛媛的数据,将第一条更新为{name:"张娜娜"}
use newData db.stuentExam.update( {name:"张媛媛"}, {$set:{name:"张娜娜"}}, { upsert:false, multi:false } )
删除数据
看过查询,删除就及其的简单
-
基本的使用结构为
db.collection.remove( <query>{}, <justOne>//false---全删 )
-
query :(可选)删除的文档的条件。
-
justOne : (可选)如果设为 true 或 1,则只删除一个文档。
-
writeConcern :(可选)抛出异常的级别。
-
删除文档及其简单!!~~
db.studentExam.remove({name:"张娜娜"},{justOne:true})
补充:查询方式
mongoDB提供的查询方式有很多种,除了常用的按照对应值的查询,我们学过的就有一类——根据大小的判断条件来查询。除此以外还有其他的。
-
特殊查询条件
-
条件操作符
-
$gt $gte $lt $lte $ne
-
类型查询条件
db.*.find({name:{$type:2}})
这里需要有一张表:记住几个常用的即可----数字、字符串、对象、数组、。。。。
类型 | 数字 | 备注 |
---|---|---|
Double | 1 | |
String | 2 | |
Object | 3 | |
Array | 4 | |
Binary data | 5 | |
Undefined | 6 | 已废弃。 |
Object id | 7 | |
Boolean | 8 | |
Date | 9 | |
Null | 10 | |
Regular Expression | 11 | |
JavaScript | 13 | |
Symbol | 14 | |
JavaScript (with scope) | 15 | |
32-bit integer | 16 | |
Timestamp | 17 | |
64-bit integer | 18 | |
Min key | 255 | Query with -1 . |
Max key | 127 |
补充:数据操作
这里指的是对查询到的数据,再次进行操作,我们已经使用过一个
protty()
,用来格式化显示数据,除此以外,还有一些其他非常好用的方法。
-
pretty():格式化查看数据(没啥用)
-
limit(num):指定查看多少条
-
skip(num):跳过指定条数的数据
-
sort()可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而 -1 是用于降序排列。
sort({age:1})
,按照年龄正序排列
什么是数据库/下载,使用/数据的增删改查