iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 7
0
AI & Data

從入門到精通 MongoDB系列 第 7

Day07: MongoDB 的資料型態

  • 分享至 

  • xImage
  •  

前面幾篇跟大家簡單介紹了在 MongoDB 進行 CRUD 相關操作的基本指令跟方法,今天則要介紹在 MongoDB 裡裡的資料有哪些資料型態。


綱要 Schema

如果有學習過關連式資料庫的朋友應該都很熟悉資料庫的 schema,而到底像 MongoDB 這種 NoSQL 資料庫有沒有 schema 的設計呢?這就要看實際需求及設計者的規劃。

  • 沒有 schema:可以插入新增任何型態的 document,不會報錯。
  • 有 schema:自我規範新增特定 schema 的 document。

由上面兩種情形,我們說 MongoDB 對於 schema 設計的態度是「有紀律的自由」。


資料型態 Data Type

在 MongoDB 李我們所儲存的資料有以下幾種資料型態:

  • String
  • Boolean
  • Number:32-bit integer, 64-bit integer, Decimal
  • ObjectID
  • Date:Timestamp, ISODate
  • Array

typeof

我們可以使用 db.collection.findOne({}).title 的方式來取得特定 title 的 value 資料

如果想要知道每個 title 存的資料是哪種資料型態,則可以透過 typeof 指令來查詢:

日期的資料型態

ISODate

我們可以透過 Javascript 語法使用 Date() 來創建一個時間變數

我們可以發現使用 Date() 所創建的時間變數的型態是 ISODate 的格式:

Timestamp

除了 ISODate,我們可以使用 timestamp 來創建一個時間變數

我們可以一次插入這兩種時間型態的資料來看其差異:

數字的資料型態

整數

使用 Javascript 創建一個 32-bit integer

長整數

使用 Javascript 創建一個 64-bit 的 long integer

使用 findOne() 來檢視:

浮點數

使用 update() 對 collection 新增一個浮點數資料

使用 findOne() 來檢視:

最後,我們一樣使用 typeof 來檢視這三個數字資料的資料型態:


今天跟大家簡單介紹 MongoDB 中的資料型態,下一篇會開始介紹 MongoDB 中的各種「關係」。


上一篇
Day06: MongoDB 的 CRUD(4) - Document 及對複雜 document 進行過濾
下一篇
Day08: NoSQL 中的關係(1) - 一對一關係
系列文
從入門到精通 MongoDB26
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言