MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的,它遵循CAP原理。
文档的数据结构和JSON基本一样。
所有存储在集合中的数据都是BSON格式。
BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON。
原理
MongoDB中的记录是一个文档,它是由字段和值(key=>value)对组成的数据结构。 MongoDB文档与JSON对象相似。 字段的值可能包括其他文档,数组和文档数组。
在mongodb中基本的概念是文档(document)、集合(collection)、数据库(database)。
SQL术语/概念 | MongoDB术语/概念 | 解释/说明 |
---|---|---|
database | database | 数据库 |
table | collection | 数据库表/集合 |
row | document | 数据记录行/文档 |
column | Field | 数据字段/域 |
index | Index | 索引 |
table joins | 表连接,MongoDB不支持 | |
primary key | primary key | 主键,MongoDB自动将_id字段设置为主键 |
开启mongo进程
启动:sudo mongod --dbpath /home/ubuntu/mongodb/data --logpath /home/ubuntu/mongodb/log/mongodb.log --logappend &(注意用户名为ubuntu)
查看进程:pgrep mongo -l
开始使用MongoDB:mongo -host 127.0.0.1:27017
进入shell窗口:mongo
开始(关于mongodb新建,插入数据,删除数据库及集合的创建,查看,重命名及删除等)
1、进入mongodb shell
执行命令进入mongodb shell(注意这里mongod的服务已经启动),命令如下:
mongo
MongoDB 创建数据库
MongoDB 创建数据库的语法格式如下:
use “DATABASE_NAME”
如果数据库不存在,则创建数据库,否则切换到指定数据库。
例如:以下命令创建了数据库 Employee:
use Employee;
如果想查看所有数据库,可以使用命令:
show dbs;
可以看到,刚创建的数据库 Employee 并不在数据库的列表中, 要显示它,需要向 Employee 数据库插入一些数据。
插入集合 myEmploy,文档{“name”:“google”},并查看数据库;
db.createCollection('myEmploy');
db.myEmploy.insert({"name":"google"})db.myEmploy.insert({"name":"google"})
截图如下:
MongoDB 删除数据库
删除当前数据库,
db.dropDatabase();
首先,使用 命令查看所有数据库,然后用use切换到数据库Employee,再进行删除操作,最后使用show查看数据库是否删除成功,操作步骤如图所示:
show dbs
use Employee
db.dropDatabase()
show dbs
截图如下:
集合操作
命令格式:db.createCollection(name, options)
例如在myDB数据库下创建myCollection集合,
执行以下命令:
use myDB
db.createCollection('myCollection')
查询数据库中所有的集合使用:
db.getCollectionNames()
对集合重命名使用renameCollection方法,重命名为 myColl 如下图所示:
db.myCollection.renameCollection('myColl')
删除集合,然后查看集合状态,如下图所示:
db.myCollection.drop()
db.myCollection.status()