- 基本操作
- MongoDB将数据存储为一个文档,数据结构由键值(key=>value)对组成
- MongoDB文档类似于JSON对象,字段值可以包含其他文档、数组、文档数组
SQL术语/概念 |
MongoDB术语/概念 |
解释/说明 |
database |
database |
数据库 |
table |
collection |
数据库表/集合 |
row |
document |
数据记录行/文档 |
column |
field |
数据字段/域 |
index |
index |
索引 |
table joins |
表连接,MongoDB不支持 |
|
primary key |
primary key |
主键,MongoDB自动将_id字段设置为主键 |
文档对应着关系数据库中的行,文档是一个对象,由键值对构成,是json的扩展Bson形式,比如:{'name':'guojing','gender':'男'}。
集合类似于关系数据库中的表,储存多个文档,结构不固定,如可以存储如下文档在一个集合中:
{'name':'guojing','gender':'男'}
{'name':'huangrong','age':18}
{'book':'shuihuzhuan','heros':'108'}
数据库是集合的物理容器,一个数据库中可包含多个文档,一个服务器有多个数据库。
1.1 安装
偶数为稳定版,如1.6.X,奇数为开发版,如1.7.X
32bit的mongodb最大只能存放2G的数据,64bit就没有限制
- 解压 tar -zxvf mongodb-linux-x86_64-ubuntu1604-3.4.0.tgz
- 移动到/usr/local/目录下:
sudo mv -r mongodb-linux-x86_64-ubuntu1604-3.4.0/ /usr/local/mongodb
3) 将可执行文件添加到PATH路径中
export PATH=/usr/local/mongodb/bin:$PATH
a) 配置文件在/etc/mongod.conf: 默认端口27017
b) 启动 : sudo service mongod start
c) 停止: sudo service mongod stop
d) 使用终端连接:mongo ,进入可以输入数据库命令。
f) 可以使用exit 或者 ctrl+c 退出
g) GUI:robomongo,解压后在bin目录下找到运行程序
1.2 基本数据类型
类型 |
说明 |
Object ID |
文档ID |
String |
字符串,最常用,必须是有效的UTF-8 |
Boolean |
存储一个布尔值,true或false |
Integer |
整数可以是32位或64位,这取决于服务器 |
Double |
存储浮点值 |
Arrays |
数组或列表,多个值存储到一个键 |
Object |
用于嵌入式的文档,即一个值为一个文档 |
Null |
存储Null值 |
Timestamp |
时间戳 |
Date |
存储当前日期或时间的UNIX时间格式 |
每个文档都有一个属性,为_id,保证每个文档的唯一性。可以手动去设置_id插入文档,默认MongoDB为每个文档提供了一个_id,类型为objectID,是一个12字节的十六进制数:
前4个字节为当前时间戳、接下来3个字节的机器ID、接下来的2个字节中MongoDB的服务进程id、最后3个字节是简单的增量值。
1.3 基本操作命令
命令 |
说明 |
db |
查看当前数据库名称 |
db.stats() |
查看当前数据库信息 |
show dbs |
列出所有在物理上存在的数据库、查看所有数据库名称 |
use 数据库名称 |
切换数据库,若不存在,则指向数据库,但不创建,直到插入数据或创建集合时数据库才被创建。默认的数据库为test,若没有创建新的数据库,集合将存放在test数据库中 |
db.createCollection(name, options) |
集合创建。name是要创建的集合的名称,options是一个文档,用于指定集合的配置,选项参数是可选的。 例:不限制集合大小:db.createCollection("stu") 例:限制集合大小:db.createCollection("sub", { capped : true, size : 10 } ) 参数capped:默认为false表示不设置上限,值为true表示设置上限 参数size:当capped值为true时,需要指定此参数,表示上限大小,当文档达到上限时,会将之前的数据覆盖,单位为字节。指定大小后不让更新内容 |
show collections |
查看当前数据库的集合 |