关闭

Mongodb的数据类型

标签: mongodb
298人阅读 评论(0) 收藏 举报
分类:

逻辑结构关系对比

我们用一张表格来对关系型数据库和MongoDB进行对比

MongoDB

关系型数据库

文档对象(document

行(row

集合(collection

表(table

数据库(database

数据库(database

数据存储结构

MySQL的数据存储结构:

MySQL的每个数据库存放在一个与数据库同名的文件夹中,MySQL如果使用MyISAM存储引擎,数据库文件类型就包括frmMYDMYI.

MongoDB的数据存储结构:

MongoDB的默认数据目录是/data/db,它负责存储所有的MongoDB的数据文件,在MongoDB内部,每个数据库都包含一个.ns文件和一些数据文件,而且这些数据文件会随着数据量的增加而变得越来越多。所以如果系统中有一个叫做mydb的数据库,那么构成mydb这个数据库的文件就会由mydb.nsmydb.0,mydb.1等等组成。

MongoDB数据类型

MongoDB的文档使用BSON(Binary JSON)来组织数据,BSON类似于JSONJSON只是一种简单的表示数据的方式,只包含了6种数据类型(null、布尔、数字、字符串、数组及对象),不能完全满足复杂业务的需要,因此,BSON还提供了日期、32位数字、64位数字等类型,以下对MongoDB数据类型进行简要说明:

类型

描述

null

用于表示空值或者不存在的字段

{“x”,null}

布尔

‘true’’false’

{“x”,true}

32位整数

Shell中这个类型不可用,MongoDB在控制台使用JS引擎进行输入,而JS仅支持64位浮点数,所以32位整数将会被自动转义

64位整数

Shell中这个类型不可用, 64位整数与32位整数一样,在MongoDB控制台使用时,会转义成64位浮点数

64位浮点数

Shell中的数字都是这种类型,下面是浮点数

{“x”:3.14}{“x”:3}

字符串

UTF-8字符串都可表示为字符串类型的数据

{“x”:”foobar”}

符号

Shell不支持这种类型,将自动转义成字符串

对象ID

对象id是文档的12字节的唯一ID,时间戳|机器|PID|计数器

{“x”:ObjectId()}

日期

日期类型存储的是从标准纪元开始的毫秒数

{“x”:new Date()}

正则表达式

文档中可以包含正则表达式,其正则表达式采用JS语法来表示

{“x”:/foobar/i}

代码

文档中可以包含js代码

{“x”:function(){…}}

二进制数据

二进制数据可以由任意字节的串组成,不过Shell无法使用

最大值

BSON包括一个特殊类型,表示可能的最大值

Shell无法使用

最小值

BSON包括一个特殊类型,表示可能的最小值

Shell无法使用

未定义

文档中也可以使用未定义类型

{“x”:undefined}

数组

值的集合或者列表可以表示成数组

{“x”:[“a”,”b”,”c”]}

内嵌文档

文档可以包含别的文档

{“x”:{“foo”:”bar”}}


0
0
查看评论

MongoDB入门学习(二):MongoDB的基本概念和数据类型

上一篇讲了MongoDB的安装和管理,其中涉及到了一些概念,数据结构还有一些API的调用,不知道的没关系,其实很简单,这篇会简单介绍一下。 1.文档         文档是MongoDB的核心概念,多个键值对有序的放在一起就是一个文档,文档是MongoDB...
  • xiaoputao0903
  • xiaoputao0903
  • 2014-06-06 15:21
  • 3252

mongodb文档支持的数据类型

1. 存储类型 mongodb文档类似于json,但不是完全的json。 json只有六种类型:null, bool, 数字,字符串,数组,对象。 但是mongo的文档在json的基础上还扩展了几种类型, 比如,日期类型,整数,浮点数。 mongodb真正存储在磁盘上是使用bson(binary ...
  • u014285882
  • u014285882
  • 2014-05-10 23:44
  • 1993

MongoDB中的数据类型

MongoDB支持多种数据类型作为文档中的值。基本数据类型MongoDB的文档类似于JSON,在概念上和JavaScript中对象神似。JSON是一种简单的表示数据的方式,仅包含6种数据类型。这带来很多好处:易于理解、易于解析、易于记忆。但另外一方面,JSON的表现力也有限制,因为只有 null、布...
  • zhujun_xiaoxin
  • zhujun_xiaoxin
  • 2016-11-18 15:33
  • 453

修改Mongodb数据类型

如下命令是将hscourses表中的ClassID字段从整型转换到字符串型: db.hscourses.find({'ClassID' : { $type : 16 }}).forEach(function(x) {x.ClassID = String(x.ClassID)...
  • jiayp004
  • jiayp004
  • 2015-07-29 14:14
  • 6033

MongoDB修改数据类型

如果类型写入错误,可以通过下面的方式在命令行中修改之。db.jobtracker_data.find({'collect_time' : { $type : 2 }}).forEach(function(x) { x.collect_time = parseInt(x.col...
  • sheismylife
  • sheismylife
  • 2015-03-29 16:30
  • 4732

MongoDB初探-基本概念与数据类型

一、基本概念 1、文档:MongoDB是基于文档(Document)的NoSQL数据库。文档是MongoDB中数据的基本单元,非常类似于关系数据库中的行(比行要复杂)。 文档由多个键值对组成,它们具有以下特性: a、文档中的键/值对是有序的(通常文档中键的顺序并不重要)。 b、文档中的值不仅可以是双...
  • qbg19881206
  • qbg19881206
  • 2014-01-13 23:22
  • 2026

MongoDB学习(二):数据类型和基本概念

MongoDB学习(二):数据类型和基本概念   本文地址: http://www.cnblogs.com/egger/archive/2013/04/27/3047191.html 欢迎转载 ,请保留此链接๑•́ ₃•̀๑! 数据类型 基本数据类型 ...
  • salonzhou
  • salonzhou
  • 2013-11-13 13:39
  • 29099

Mongo修改数据类型

引言本文主要讲解Mongodb的类型转换。包括:string转double, string转int, string转Date。0. 出现类型不一致的原因ES导入数据到Mongo后,会出现类型统一改为String的问题。 传统关系型数据库,在设计表处,右键就可以完成修改表类型。 但是非关系型数据库...
  • wojiushiwo987
  • wojiushiwo987
  • 2017-05-21 10:30
  • 2428

mongo 学习三--mongodb 数据类型

e文:http://docs.mongodb.org/manual/core/shell-types/ Data Types in the mongo Shell MongoDB BSON provide support for additional data types thanJ...
  • bolidehi
  • bolidehi
  • 2013-08-16 11:42
  • 2237

MongoDB的数据格式及数据类型

BSON(Binary Serialized Document Format)是一种类JSON的二进制形式的存储格式,简称Binary JSON。它和JSON一样,支持内嵌的文档对象和数组对象,但是BSON有JSON没有的一些数据类型,如Date和BinData类型。它支持下面数据类型。每个数据类型...
  • alan_liuyue
  • alan_liuyue
  • 2018-01-08 20:59
  • 112
    个人资料
    • 访问:1357510次
    • 积分:17685
    • 等级:
    • 排名:第648名
    • 原创:257篇
    • 转载:1344篇
    • 译文:92篇
    • 评论:84条