您的位置:首页 > 数据库 > Mongodb

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的使用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: