首页 技术 正文
技术 2022年11月15日
0 收藏 470 点赞 2,517 浏览 1242 个字

3.3 MongoDB的基本操作

在MongoDB数据库里面存在数据库的概念,但没有模式(所有的信息都是按照文档保存的),保存数据的结构是BSON结构,只不过在进行一些数据处理的时候才会使用到MongoDB自己的一些操作。

1.使用mldn数据库:use mldn

MongoDB(课时3 MongoDB基本操作)

实际上这时候并不会创建数据库,只有在数据库里保存集合数据之后才能真正创建数据库。

2.创建一个emp集合:db.createCollection(“emp”)

MongoDB(课时3 MongoDB基本操作)

这个时候mldn数据库才会真正存在。

3. 很多时候按照以上代码形式进行是不正常的,正常情况下使用MongoDB数据库集合操作,都是直接向里面保存一个数据。因为MongoDB是无模式的。

MongoDB(课时3 MongoDB基本操作)

4.查看所有集合:show collections

MongoDB(课时3 MongoDB基本操作)

(注意:3,4是重新打开的MongoDB,前面的emp集合没保存所以没在其中)

5.查看dept表的数据

语法:db.集合名称.find({若干条件})

MongoDB(课时3 MongoDB基本操作)

从传统的数据表来看(集合相当于表的结构),表的结构一旦定义必须按照其定义的要求进行编写,MongoDB不一样,它可以自己随意扩充数据。

6.增加不规则数据

MongoDB(课时3 MongoDB基本操作)

其中的第三条数据与前两条结构不同,所以dept集合的内容可以由用户随便定义。所以在MongoDB中不存在查看集合结构的操作。

7.关于ID的问题

在MongoDB集合中的每一行记录都会自动的生成一个” “_id” : ObjectId(“5a2115dca5eb4ea8c10f5eb8”)”数据,这个数据组成是:时间戳+机器码+PID+计数器,这个值绝对不会重复。

ObjectId(0~11):

  1. 对象id类型是一个12字节的唯一id。每个字节2位16进制数,因此整个id类型是一个24位的字符串
  2. 前面四个字节代表从标准纪元开始的时间戳,以秒为单位
  3. 接下来3个字节代表机器码,一般是机器的hash值。这可以保证不同的及其产生的id不会冲突
  4. 接下来两个字节表示进程id号,保证统一机器不同建成产生的id不冲突
  5. 最后三个是计数器的技术支持,对于任意一秒钟,可以产生2^24个数

这个ID的信息是MongoDB数据自己为用户生成的。

8.查看单独的一个文档信息

MongoDB(课时3 MongoDB基本操作)

db.dept.findOne()表示只查看一个文档信息。

9.删除数据——db.dept.remove(ID)

MongoDB(课时3 MongoDB基本操作)

根据ID删除数据,本来是三条数据,删除 “_id” : ObjectId(“5a2115dca5eb4ea8c10f5eb8”)的数据,变为两条。

10.更新数据——db.dept.update(ID, 更新的数据)

MongoDB(课时3 MongoDB基本操作)

11.删除集合

语法:db.集合名称.drop()

MongoDB(课时3 MongoDB基本操作)

MongoDB(课时3 MongoDB基本操作)

12..删除数据库(删除数据库是删除当前所在的数据库,必须切换到当前数据库后才可以删除)

语法:db.dropDatabase()

MongoDB(课时3 MongoDB基本操作)

MongoDB(课时3 MongoDB基本操作)

在编写代码中当前数据库是test数据库,所以可以删除。

MongoDB(课时3 MongoDB基本操作)

删除test数据库后,没有了当前数据库,所以执行dp.dropDatabase()后,并不删除数据库。

13.查看数据库:show databases 或 show dbs

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,082
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,556
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,406
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,179
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,815
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,898