MongoDB(课时3 MongoDB基本操作)
3.3 MongoDB的基本操作
在MongoDB数据库里面存在数据库的概念,但没有模式(所有的信息都是按照文档保存的),保存数据的结构是BSON结构(相似与JSON),只不过在进行一些数据处理的时候才会使用到MongoDB自己的一些操作。
1.使用mldn数据库:use mldn
实际上这时候并不会创建数据库,只有在数据库里保存集合数据之后才能真正创建数据库。
2.创建一个emp集合:db.createCollection("emp")
这个时候mldn数据库才会真正存在。
3. 很多时候按照以上代码形式进行是不正常的,正常情况下使用MongoDB数据库集合操作,都是直接向里面保存一个数据。因为MongoDB是无模式的。
4.查看所有集合:show collections
(注意:3,4是重新打开的MongoDB,前面的emp集合没保存所以没在其中)
5.查看dept表的数据
语法:db.集合名称.find({若干条件})
从传统的数据表来看(集合相当于表的结构),表的结构一旦定义必须按照其定义的要求进行编写,MongoDB不一样,它可以自己随意扩充数据。
6.增加不规则数据
其中的第三条数据与前两条结构不同,所以dept集合的内容可以由用户随便定义。所以在MongoDB中不存在查看集合结构的操作。
7.关于ID的问题
在MongoDB集合中的每一行记录都会自动的生成一个" "_id" : ObjectId("5a2115dca5eb4ea8c10f5eb8")"数据,这个数据组成是:时间戳+机器码+PID+计数器,这个值绝对不会重复。
ObjectId(0~11):
- 对象id类型是一个12字节的唯一id。每个字节2位16进制数,因此整个id类型是一个24位的字符串
- 前面四个字节代表从标准纪元开始的时间戳,以秒为单位
- 接下来3个字节代表机器码,一般是机器的hash值。这可以保证不同的及其产生的id不会冲突
- 接下来两个字节表示进程id号,保证统一机器不同建成产生的id不冲突
- 最后三个是计数器的技术支持,对于任意一秒钟,可以产生2^24个数
这个ID的信息是MongoDB数据自己为用户生成的。
8.查看单独的一个文档信息
db.dept.findOne()表示只查看一个文档信息。
9.删除数据——db.dept.remove(ID)
根据ID删除数据,本来是三条数据,删除 "_id" : ObjectId("5a2115dca5eb4ea8c10f5eb8")的数据,变为两条。
10.更新数据——db.dept.update(ID, 更新的数据)
11.删除集合
语法:db.集合名称.drop()
12..删除数据库(删除数据库是删除当前所在的数据库,必须切换到当前数据库后才可以删除)
语法:db.dropDatabase()
在编写代码中当前数据库是test数据库,所以可以删除。
删除test数据库后,没有了当前数据库,所以执行dp.dropDatabase()后,并不删除数据库。
13.查看数据库:show databases 或 show dbs