【网易云课堂】MongoDB简介
MongoDB数据库是一种NoSQL数据库
传统方式:数据表 → JDBC读取 → POJO(VO,DO) → 控制层转换为JSONS数据 → 客户端 现在方式:直接有一个数据库存在要显示的json数据,省略了所有需要转换的过程
其中NoSQL数据数据库负责数据的读取,因为直接保存的就是json(前提:MongoDB中的数据是排列好的组合数据)
例如:现在要求显示出每个雇员的编号,姓名,职位,部门名称,部门职位,工资等级。 传统的数据库一定存放大量的冗余数据,不合理,有了NoSQL数据库,可以直接在业务层里面将数据按照指定的结构进行存储。
在MongoDB数据库中,与传统数据库有如下的概念对应:
关系型数据库
MongoDB
数据库
数据库(类似与mysql,非oracle)
表
集合
行
文档
列
成员
主键
object ID(自动维护)
MongoDB面向集合的存储过程,模式自由(无模式),方便的进行存储扩充,支持索引,支持短暂数据保留,具备完整的数据库状态的监控,基于BSON(mongo自己的json)应用。
mongoDB的安装与配置
www.mongodb.org直接下载可用版本.tar.gz并解压
如果想要正常启动mongoDB,必须先创建一个存放数据文件的目录,默认是/data/db
bin目录下每个二进制文件的作用可以看README
服务端启动是mongod文件,./mongod可以看启动命令
mongoDB数据库服务端进程启动可以通过指定配置文件的方式指定启动参数,也可以通过后面直接配置启动参数两种方式启动,进入bin目录下,运行$ ./mongod --help
,这里详细介绍了启动参数含义和默认值
配置文件
关闭后台服务端
pkill mongod
,视乎必须要在bin目录下执行才有效mongo客户端关闭
MongoDB的基础操作
MongoDB没有表结构,没有字段类型,没有事物,保存的数据结构就是json结构,只不过在操作数据的时候才用到MongoDB自己的一些操作符
使用、创建数据库use mldn
(实际上这个时候并不会创建数据库,只有创建 了表之后才会自动创建数据库) 显示所有的数据库show databases
创建表db.createCollection("emp")
查看所有的表集合show collections
删除集合(表)语法:db.表明.drop() 删除当前数据库 语法:db.dropDatabase() 查看当前所在的数据库:db 查看针对数据库的操作:db.help()
但是很多时候mongodb使用都是直接向里面保存数据,不用先创建表,在保存数据的时候会自动创建表(无模式)
插入数据的另一种写法
关于ID的问题
在MongoDB集合(表)中,每一行记录都会自动的生成一个id,_id" : ObjectId("5a8f7e2de9efc2d31c1c3578")
数据组成是:时间戳 + 机器码 + pid + 计数器 ,这个ID的信息是MongoDB自己为我们生成的
查看一条记录,MongoDB是严格要求大小写的,大小写敏感
删除数据,条件按照json写出
跟新数据
Last updated
Was this helpful?