MongoDB常用數(shù)據(jù)類型分享
JSON
JSON是一種簡(jiǎn)單的數(shù)據(jù)表示方式,它易于理解、易于解析、易于記憶。但從另一方面來(lái)說(shuō),因?yàn)橹挥衝ull、布爾、數(shù)字、字符串、數(shù)組和對(duì)象這幾種數(shù)據(jù)類型,所以JSON有一定局限性。例如,JSON沒(méi)有日期類型,JSON只有一種數(shù)字類型,無(wú)法區(qū)分浮點(diǎn)數(shù)和整數(shù),更別說(shuō)區(qū)分32為和64位數(shù)字了。再者,JSON無(wú)法表示其他一些通用類型,如正則表達(dá)式或函數(shù)。
BSON
BSON(Binary Serialized Document Format)是一種類JSON的二進(jìn)制形式的存儲(chǔ)格式,簡(jiǎn)稱Binary JSON。它和JSON一樣,支持內(nèi)嵌的文檔對(duì)象和數(shù)組對(duì)象,但是BSON有JSON沒(méi)有的一些數(shù)據(jù)類型,如Date和BinData類型。它支持下面數(shù)據(jù)類型。每個(gè)數(shù)據(jù)類型對(duì)應(yīng)一個(gè)數(shù)字,在MongoDB中可以使用$type操作符查看相應(yīng)的文檔的BSON類型。
MongoDB 4.2官方支持?jǐn)?shù)據(jù)類型如下:


最經(jīng)常使用的數(shù)據(jù)類型:
- Object ID :Documents 自生成的 id
- String: 字符串,必須是utf-8
- Boolean:布爾值,true 或者false (這里有坑哦~在我們大Python中 True False 首字母大寫)
- Integer:整數(shù) (Int32 Int64 你們就知道有個(gè)Int就行了,一般我們用Int32)
- Double:浮點(diǎn)數(shù) (沒(méi)有float類型,所有小數(shù)都是Double)
- Arrays:數(shù)組或者列表,多個(gè)值存儲(chǔ)到一個(gè)鍵 (list哦,大Python中的List哦)
- Object:如果你學(xué)過(guò)Python的話,那么這個(gè)概念特別好理解,就是Python中的字典,這個(gè)數(shù)據(jù)類型就是字典
- Null:空數(shù)據(jù)類型 , 一個(gè)特殊的概念,None Null
- Timestamp:時(shí)間戳
- Date:存儲(chǔ)當(dāng)前日期或時(shí)間unix時(shí)間格式 (我們一般不用這個(gè)Date類型,時(shí)間戳可以秒殺一切時(shí)間類型)*
Object ID
文檔自動(dòng)生成的_id,長(zhǎng)度為24個(gè)字符。
0-8字節(jié)是時(shí)間戳,
9-14字節(jié)的機(jī)器標(biāo)識(shí)符,表示MongoDB實(shí)例所在機(jī)器的不同;
15-18字節(jié)的進(jìn)程id,表示相同機(jī)器的不同MongoDB進(jìn)程。
19-24字節(jié)是計(jì)數(shù)器

String
UTF-8字符串,記住是UTF-8字符串。

Integer
整數(shù) (Int32 Int64 我們就知道有個(gè)Int就行了,一般我們用Int32)

Double
浮點(diǎn)數(shù) (MongoDB中沒(méi)有float類型,所有小數(shù)都是Double)

Boolean
true或者false,首字母為小寫

Array
數(shù)據(jù)或者列表,多個(gè)值存儲(chǔ)到一個(gè)鍵

Object
類似于Python里的字典,key是唯一的

null
空值
Timestamp
時(shí)間戳

Date
默認(rèn)時(shí)間為標(biāo)準(zhǔn)時(shí)間(UTC)

需要轉(zhuǎn)換為當(dāng)前時(shí)間。
很少使用這個(gè)Date類型,因?yàn)闀r(shí)間戳可以秒殺一切時(shí)間類型。
到此這篇關(guān)于MongoDB常用數(shù)據(jù)類型分享的文章就介紹到這了,更多相關(guān)MongoDB數(shù)據(jù)類型內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
利用MongoDB中oplog機(jī)制實(shí)現(xiàn)準(zhǔn)實(shí)時(shí)數(shù)據(jù)的操作監(jiān)控
MongoDB 的Replication是通過(guò)一個(gè)日志來(lái)存儲(chǔ)寫操作的,這個(gè)日志就叫做oplog,而下面這篇文章主要給大家介紹了利用MongoDB中oplog機(jī)制實(shí)現(xiàn)準(zhǔn)實(shí)時(shí)數(shù)據(jù)的操作監(jiān)控的相關(guān)資料,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-05-05
MongoDB使用mongoexport和mongoimport命令,批量導(dǎo)出和導(dǎo)入JSON數(shù)據(jù)到同一張表的實(shí)例
今天小編就為大家分享一篇關(guān)于MongoDB使用mongoexport和mongoimport命令,批量導(dǎo)出和導(dǎo)入JSON數(shù)據(jù)到同一張表的實(shí)例,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10
mongodb中隨機(jī)獲取1條記錄的實(shí)現(xiàn)方法
這篇文章運(yùn)用實(shí)例給大家演示了如何在mongodb中隨機(jī)獲取1條記錄,文中介紹的很詳細(xì),有需要的朋友們可以參考借鑒。下面來(lái)一起看看吧。2016-09-09
詳解MongoDB中用sharding將副本集分配至服務(wù)器集群的方法
副本集是MongoDB的主從復(fù)制中的重要功能,經(jīng)常被用來(lái)作額外的備份,這里我們就來(lái)詳解MongoDB中用sharding將副本集分配至服務(wù)器集群的方法,首先還是來(lái)回顧一下MongoDB中副本集的基本知識(shí):2016-07-07
mongodb監(jiān)控工具mongostat的使用及命令詳解
mongostat是mongodb自帶的狀態(tài)檢測(cè)工具,在命令行下使用,會(huì)間隔固定時(shí)間獲取mongodb的當(dāng)前運(yùn)行狀態(tài),并輸出,本文講述了mongodb監(jiān)控工具mongostat的使用及命令詳解2018-03-03
MongoDB數(shù)據(jù)庫(kù)中索引和explain的使用教程
這篇文章主要給大家介紹了關(guān)于MongoDB數(shù)據(jù)庫(kù)中索引和explain使用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Mongodb具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-08-08

