【网易云课堂】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并解压

tar -zxvf .tar.gz -C /opt

如果想要正常启动mongoDB,必须先创建一个存放数据文件的目录,默认是/data/db

--dbpath arg                          directory for datafiles - defaults to /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?