mongoDB 详解 一、mongoDB基础知识与基本数据类型
2017-07-19 21:01
603 查看
mongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
一、mongoDB的优势
1、易于使用
由于不再有预定义模式,MongoDB获得更好的扩展性,这样当我们数据有改动时不用每次都修改表的定义
2、易于扩展
MongoDB的设计采用横向扩展,面向文档的数据模型使它很容易地在多台服务器之间进行数据分割。MongoDB能自动处理跨集群的数据和负载,自动重新分配文档,以及将用户请求路由到正确的机器上。
3、 丰富的功能
3.1、索引:
除了能增删查改外,还有 索引、二级索引、唯一索引、复合索引、地理空间索引,以及全文索引。
3.2、聚合
3.3、特殊的集合类型
3.4、文件存储
不过,MongoDB不具备在关系型数据库中很普遍的功能,如连接(join) 和复杂的多行事务,因为在分布式系统中这两个功能很难高效的实现。
二、mongoDB中的数据库(database)、集合(collection)、文档:
熟悉关系型数据库的同学应该知道,在关系型数据库中,我们有数据库(database)、表(table)、行(row)的概念。一般来说,一个数据库针对一个web程序,一个表对应一个实体,而行即为表中的一条信息。
而相同的,我们可以粗略的这样理解,mongoDB中的数据库(database)相当于关系型数据中的数据库(database),mongoDB中的集合(collection)相当于关系型数据库的表,而mongoDB中的文档相当于关系型数据库的行。
三、mongoDB中的基础数据类型:
MongoDB中近似使用JSON进行存储,但在JSON的基础上增加了一些基础类型。
1、null
null 标识不存在的字段
{"x":null}
2、布尔型
布尔型有两个值true和false
{"hasName":true}
3、数值:
比如
{"age":18}
4、字符串:
MongoDB使用UTF-8进行存储,比如
{"name":"zhangsan"}
5、日期被存储为新纪元以来的毫秒数:
{"x":new Data()}
6、正则表达式:
查询时,可以使用正则表达式作为查询条件,比如
{"x":"/foobar/i"}
7、数组类型:
{"ages":[17,18,19]}
8、内嵌文档:
{"doc":{"name":"lisi"}}
9、对象id:
对象id是一个12字节的ID,是文档的唯一标识
{"x":ObjectId()}
下一节的地址为 mongoDB 详解 二、mongoDB shell的使用
一、mongoDB的优势
1、易于使用
由于不再有预定义模式,MongoDB获得更好的扩展性,这样当我们数据有改动时不用每次都修改表的定义
2、易于扩展
MongoDB的设计采用横向扩展,面向文档的数据模型使它很容易地在多台服务器之间进行数据分割。MongoDB能自动处理跨集群的数据和负载,自动重新分配文档,以及将用户请求路由到正确的机器上。
3、 丰富的功能
3.1、索引:
除了能增删查改外,还有 索引、二级索引、唯一索引、复合索引、地理空间索引,以及全文索引。
3.2、聚合
3.3、特殊的集合类型
3.4、文件存储
不过,MongoDB不具备在关系型数据库中很普遍的功能,如连接(join) 和复杂的多行事务,因为在分布式系统中这两个功能很难高效的实现。
二、mongoDB中的数据库(database)、集合(collection)、文档:
熟悉关系型数据库的同学应该知道,在关系型数据库中,我们有数据库(database)、表(table)、行(row)的概念。一般来说,一个数据库针对一个web程序,一个表对应一个实体,而行即为表中的一条信息。
而相同的,我们可以粗略的这样理解,mongoDB中的数据库(database)相当于关系型数据中的数据库(database),mongoDB中的集合(collection)相当于关系型数据库的表,而mongoDB中的文档相当于关系型数据库的行。
三、mongoDB中的基础数据类型:
MongoDB中近似使用JSON进行存储,但在JSON的基础上增加了一些基础类型。
1、null
null 标识不存在的字段
{"x":null}
2、布尔型
布尔型有两个值true和false
{"hasName":true}
3、数值:
比如
{"age":18}
4、字符串:
MongoDB使用UTF-8进行存储,比如
{"name":"zhangsan"}
5、日期被存储为新纪元以来的毫秒数:
{"x":new Data()}
6、正则表达式:
查询时,可以使用正则表达式作为查询条件,比如
{"x":"/foobar/i"}
7、数组类型:
{"ages":[17,18,19]}
8、内嵌文档:
{"doc":{"name":"lisi"}}
9、对象id:
对象id是一个12字节的ID,是文档的唯一标识
{"x":ObjectId()}
下一节的地址为 mongoDB 详解 二、mongoDB shell的使用
相关文章推荐
- python语言基础知识——基本数据类型详解
- Java基础知识---基本数据类型及类型转化
- 基础知识--Java基本数据类型
- swift入门基础知识1基本数据类型
- C语言基础知识总结(1)-基本数据类型
- javascipt——基础知识——基本数据类型和逻辑运算
- Java基础小知识——基本数据类型和字符串以及字节数组的转换
- Java基础知识之基本数据类型
- Java基础知识-基本数据类型相互转型
- 黑马程序员——基础知识——基本数据类型包装类
- 恶补计算机基础知识 补码 进制 基本数据类型字节
- CG语言基础知识整理——基本数据类型
- Fortran学习笔记1——基础知识(数据基本类型及其运算)
- 基础知识总结:基本数据类型
- [C++] 基础知识之2、C++中的基本数据类型
- Java 基础知识 8种基本数据类型 equal 与==区别 Switch 使用
- Redis 基础知识(5种数据类型基本操作)
- Java基础知识-基本数据类型相互转型
- Java基础小知识——基本数据类型和字符串以及字节数组的转换
- JAVA基础知识回顾(基本数据类型,switch参数,equals与==的区别,Object有哪些公用方法)-1