软件介绍
mongodb。。。。。=======数据库软件
robomongo-----========第三方可视化软件
了解mongoDB的下载方式
下载地址:3.4
- 下载首页: https://www.mongodb.com/download-center#atlas
- 所有版本:https://www.mongodb.org/dl/win32/x86_64-2008plus-ssl?_ga=2.131883337.750545526.1535099382-559944328.1535099382
- 32位版本:https://www.mongodb.org/dl/win32/i386
注意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(
{},
//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}),按照年龄正序排列
回顾:知道啥是数据库//下载,使用//数据的增删改查