天天看點

MongoDB資料類型

MongoDB資料類型

1、db.collection.find({name:{$type:2}}) //查詢name字段類型為2即為string類型的所有文檔。

2、null :表示空值或者不存在的字段 例如:db.collection.find({“y”:null})

3、布爾 有2個值true或false 例如:{“y”:true}

4、數值類型 支援32-int、64-int以及64-double 注:javascript隻支援645、位浮點數,例如:{“y”:10} {“y”:numberint(10)}

6、字元串 使用utf-8對字元串進行編碼,例如 {“y”:”hello mongodb”}

7、二進制資料:可以儲存由任意位元組組成的字元串,例如圖檔視訊。

8、正規表達式類型:主要用于查詢,使用正規表達式作為限定條件。

例如:{name:/foo/}name字段含有foo的文檔

{name:/foo/i}name字段含有foo的文檔,且不區分大小寫

{name:/^foo/i}name字段以foo開頭,且不區分大小寫

9、javascript代碼:文檔中可以包含任意的javascript代碼

{”func”,function(){}}

10、date日期:mongodb中日期是一個64位整數,它代表的是距unix epoch的毫秒數,即距1970.1.1的毫秒數。mongodb在存儲時間時,先轉化為utc時間,中原標準時間(cst)= utc + 8小時

mongodb shell中可以使用new date或isodate來建立時間對象,在進行顯示時,shell會根據本地時間去設定顯示日期對象。

11、timestamp

時間戳類型有2部分組成:32bit unix epoch + 32bit 自增序數。

12、objectid由24個十六進制字元構成,每個位元組存儲兩位十六進制數字,總共需要12位元組存儲空間。

例如:{“_id”:objectid(“….”)}

每個位元組代表的含義如下:

MongoDB資料類型

13、内嵌文檔

文檔可以作為鍵的值,這樣的文檔稱為内嵌文檔。内嵌文檔可以使資料不用儲存成扁平結構的鍵值對,進而使資料組織方式更加自然。

MongoDB資料類型

内嵌文檔适合在子文檔不是很大或者變化不頻繁的情況下,反之則更适合使用引用文檔。

14、數組

數組是使用方括号來表述的一組值,它既可以作為有序對象(清單、棧、隊列),也可以作為無序對象(如 集合)來操作。

數組中可以包含不同資料類型的元素(字元串、浮點數、文檔等)

針對數組mongodb提供了許多特定的操作符,例如<code>$push,$pop,$pull,$slice,$addtoset</code>等。

mongodb可自動的為數組元素建立multikey索引。

繼續閱讀