MongoDB的数据类型介绍

  参考MongoDB官网:https://docs.mongodb.com/manual/reference/bson-types/

  MongoDB文档存储是使用BSON类型,BSON(BSON short for Bin-ary JSON, is a bin-ary-en-coded seri-al-iz-a-tion of JSON-like doc-u-ments)是二进制序列化的形式。类如JSON,同样支持内嵌各种类型。

  

Type Number Alias Notes
Double 1 “double”  
String 2 “string”  
Object 3 “object”  
Array 4 “array”  
Binary data 5 “binData”  
Undefined 6 “undefined” Deprecated.
ObjectId 7 “objectId”  
Boolean 8 “bool”  
Date 9 “date”  
Null 10 “null”  
Regular Expression 11 “regex”  
DBPointer 12 “dbPointer” Deprecated.
JavaScript 13 “javascript”  
Symbol 14 “symbol” Deprecated.
JavaScript (with scope) 15 “javascriptWithScope”  
32-bit integer 16 “int”  
Timestamp 17 “timestamp”  
64-bit integer 18 “long”  
Decimal128 19 “decimal” New in version 3.4.
Min key -1 “minKey”  
Max key 127 “maxKey”

  重点介绍几个类型,

  ObjectId类型:这是MongoDB生成的类似关系型DB表主键的唯一key,生成快速。具体由12个字节组成:

  前4个字节是unix秒,3个字节的机器标识符(为了分布式下的主键唯一),2个字节的进程id,3个字节的计数器数字

  • a 4-byte value representing the seconds since the Unix epoch,
  • a 3-byte machine identifier,
  • a 2-byte process id, and
  • a 3-byte counter, starting with a random value.

  MongoDB的设计之初就是要做分布式数据库。从ObjectId唯一主键的生成上,值得分布式系统设计人员参考。

  3个字节的机器标识符,表示MongoDB实例所在机器的不同;2个字节的进程id,表示相同机器的不同MongoDB实例。再加上时间戳和随机数(3个字节随机数,同一秒上,理论上可以有2^24次个插入),很大程度上保证了ObjectId的唯一性。

时间: 2024-12-14 14:46:39

MongoDB的数据类型介绍的相关文章

Redis常用数据类型介绍、使用场景及其操作命令

Redis常用数据类型介绍.使用场景及其操作命令 本文章同时也在cpper.info发布. Redis目前支持5种数据类型,分别是: 1.String(字符串) 2.List(列表) 3.Hash(字典) 4.Set(集合) 5.Sorted Set(有序集合) 下面就分别介绍这五种数据类型及其相应的操作命令. 1. String(字符串) String是简单的 key-value 键值对,value 不仅可以是 String,也可以是数字.String在redis内部存储默认就是一个字符串,被

3,MongoDB之数据类型

MongoDB的新篇章开始啦 - 数据类型 https://www.cnblogs.com/xuzhaocai/p/8048177.html 一.MongoDB 之 丰富多彩的数据类型世界 首先我们要先了解一下MongoDB中有什么样的数据类型: Object  ID :Documents 自生成的 _id String: 字符串,必须是utf-8 Boolean:布尔值,true 或者false (这里有坑哦~在我们大Python中 True False 首字母大写) Integer:整数 (

MongoDB:数据模型介绍

在MongoDB的数据有灵活的模式.不像SQL数据库,(SQL数据库)要求你必须在插入数据之前决定和声明一个表的模式,MongoDB的集合不强制文档的结构.这个灵活性有利于文档到实体或对象的映射.每个文档可以匹配所要表示实体的数据字段,即使数据的变化很显著.但在实际操作中,一个集合的文档共享一个相似的结构. 数据模型的关键挑战在于平衡应用的需要,数据库引擎的性能和数据存取模式.当设计数据模型时,要考虑数据在应用里的使用情况(如,查询.更新和处理数据),以及数据本身的内在结构. 文档结构 在为Mo

JavaOO视频-04【基本数据类型介绍02、数据类型转换】

转载请标明,http://www.gxabase.com视频内容:此节视频会接着给大家讲基本数据类型的介绍,包括:浮点型.字符型.布尔型.然后再为大家介绍学习八大基本数据类型必须掌握的数据类型转换这一知识点. JavaOO视频-04[基本数据类型介绍02.数据类型转换],布布扣,bubuko.com

JavaOO-03【EditPlus工具介绍、基本数据类型介绍01】

转载请标明,http://www.gxabase.com 视频内容:本节主要详细介绍编写Java程序的工具-EditPlus如何应用,如何利用EditPlus工具去编译和运行Java程序.接着介绍Java程序的编码规范,如何定义方法名/变量名/类名的规范.最后为大家介绍Java八大基本数据类型的应用. JavaOO-03[EditPlus工具介绍.基本数据类型介绍01],码迷,mamicode.com

MongoDB(一)——简单介绍

这两天简单学习了一下MongoDB数据库,属于NoSQL类型数据库的一种,先简单宏观的看一下NoSQL的相关知识和MongoDB的基础知识. NoSQL是Not Only SQL的缩写,它指的是非关系型数据库,即有别于Oracle,mysql,sqlserver等常用的关系型数据库.它是以key-value形式存在,即我们熟悉的JSON数据形式. 发展:NoSQL是随着互联网Web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模数据量和高并发的SNS类型的web2.0纯动

MySQL数据类型介绍

一 选择数据类型的几个简单原则 1. 越小越好,越简单越好 一般情况下,应该尽量使用可以正确存储数据的最小最简单的数据类型.因为它们占用更小的磁盘,内存和CPU缓存,处理时需要的CPU周期也更少.但同时,在确定选择时也务必注意不要低估需要存储的值的范围,否则会给后期带来麻烦. 2. 尽量避免NULL NULL是列的默认属性,但通常情况下最好指定列为NOT NULL,除非真的需要存储NULL.因为含有NULL的列使得索引.索引统计和值比较都更加复杂,而且当可为NULL的列被索引时,每个索引记录需要

MySQL 中的数据类型介绍

MySQL 中的数据类型介绍 标签: mysql数据类型mysql全部数据类型mysql字段类型mysql数据存储mysql 2016-04-29 20:24 53643人阅读 评论(11) 收藏 举报  分类: 服务器及软件---MySQL数据库(4)  版权声明:http://blog.csdn.net/anxpp 目录(?)[+] 据我统计,MySQL支持39种(按可使用的类型字段统计,即同义词也作多个)数据类型.下面的介绍可能在非常古老的MySQL版本中不适用. 转载请注明出处:http

sql server 数据类型介绍

SQL Server的数据类型介绍SQL 数据类型是数据的一种属性,表示数据所表示信息的类型.任何一种计算机语言都定义了自己的数据类型.当然,不同的程序语言都具有不同的特点,所定义的数据类型的各类和名称都或多或少有些不同. 系统原有的数据类型 SQLServer 提供了 25 种数据类型: Binary [(n)],Varbinary [(n)],Char[(n)],Varchar[(n)],Nchar[(n)],Nvarchar[(n)],Datetime, Smalldatetime,Dec