MongoDB資料型別

2021-09-29 13:40:43 字數 1243 閱讀 3668

mongodb文件類似json,在概念上和js中的物件神似。

}
}
js只是一種數字型別(64bit浮點數),mongodb中有3種數字型別(32bit整數、64bit數字、64bit浮點數)。預設情況下,shell中數字都被mongodb當做雙精度數。

這意味著若你從資料庫中獲得是乙個32位整數,修改文件後,將文件存回資料庫時,此時整數會被轉換為浮點數,即便保持整數原封不動也會這樣。所以明智的做法是盡量不要在shell下覆蓋整個文件。

數字只能表示為雙精度數(64bit浮點數)的另乙個問題是,有些64bit的整數並不能精確地表示為64bit浮點數。所以,要存入乙個64bit整數,然後在shell中檢視,它會顯示乙個內嵌文件,表示可能不準確。

內嵌文件只表示shell顯示的是乙個64bit浮點數近似表示的64整數,若內嵌文件只有乙個健的話,實際上這個值是準確的。

若要插入的64bit整數不能精確地作為雙精度數顯示,shell會新增兩個鍵top和bottom,分別表示高32bit和低32bit。

> db.user.insert()

> db.user.findone()

js中date物件用作mongodb的日期型別,建立乙個新的date物件時會呼叫 new date(),而不是date()。呼叫建構函式實際上會返回對日期的字串表示,而非真正的date物件。這不是mongodb的特性,而是js本身的特性。

shell中的日期顯示使用本地時區設定,但日期在資料中是以從標準紀元開始的毫秒數的形式儲存的,沒有與之相關的時區資訊。

陣列可作為有序物件(如列表、棧、佇列)來操作,也可作為無需物件(如集合)操作。

文件中的陣列有個奇妙的特性,mongodb能理解陣列的結構,並知道如何深入陣列內部對其內容進行操作。這樣就能用內容對陣列進行查詢和構建索引了。

內嵌文件把整個mongodb文件作為另乙個文件中鍵的乙個值,這樣資料可組織德更自然些,不用非得存在扁平結構的。

資料型別基礎資料型別

資料型別 基礎型別 除八大基礎型別其他的都是引用型資料型別 引用資料型別 基礎資料型別 整型 byte 佔乙個位元組,範圍 128 127 short 佔兩個位元組,範圍 32768 32767 int 最常用 佔四個位元組,範圍 2147483648 2147483647 long 佔八個位元組 ...

資料型別 基本資料型別和引用資料型別

一.分類 1,五種簡單資料型別 基本資料型別 number,string,boolean,null,undefined,新增symbol es6 基本資料型別是指存放在棧中的簡單資料段,資料大小確定,記憶體空間大小可以分配,它們是直接按值存放的,所以可以直接按值訪問。1 undefined 宣告的變...

SQL 資料型別 MySQL 資料型別

在 mysql 中,有三種主要的型別 文字 數字和日期 時間型別。資料型別 描述char size 儲存固定長度的字串 可包含字母 數字以及特殊字元 在括號中指定字串的長度。最多 255 個字元。varchar size 儲存可變長度的字串 可包含字母 數字以及特殊字元 在括號中指定字串的最大長度。...