JSON and BSON

JavaScript Object Notation,通常稱為 JSON,在 2000 年代初期由 JavaScript 創建者 Douglas Crockford 定義為 JavaScript 語言的一部分。JavaScript 物件是簡單的容器,其中一個String key可以映射到一個value (這個value可以是數字、String,甚至是另一個物件)。這種簡單的語言特性允許 JavaScript 物件在文件中非常簡單地表示:

image.png

JSON 的普遍性使其成為 MongoDB 在開發時的數據結構第一選擇。 但是,有幾個問題使 JSON 不太適合在數據庫內部使用:

  1. JSON是基於純文字的格式,而純文字在解析上很緩慢。
  2. JSON 的高可讀性並無法節省儲存空間,另一個用JSON製作數據庫會引發的問題。
  3. JSON 僅支持有限數量的基本data types。

為了使 MongoDB提高性能,人們發明了 BSON 來解決以上的問題。 BSON 基於 JSON,但仍然具有高性能和通用性。 BSON 代表 Binary JSON,BSON 的二進制結構對data types和長度信息進行編碼,從而可以更快地對其進行解析,針對速度、空間和靈活性進行了優化。 例如,將JSON的{“hello”: “world”} 換成BSON會得到 \x16\x00\x00\x00\x02 hello\x00\x06\x00\x00\x00world\x00\x00

image.png

MongoDB Shell (mongosh)

MongoDB Shell (mongosh)是一個功能齊全的 JavaScript 和 Node.js 16.x REPL(Read, Evaluate, Print, Loop) 環境,用於與 MongoDB 部署進行交互運作。我們可以使用 MongoDB Shell 直接用數據庫測試查詢和操作。 在MongoDB當中,我們可以一次擁有數個databases。每個database內部可以有數個collections。Collections等同於是MySQL當中的一個表格。

image.png

以系統管理員身分執行cmd,輸入mongosh後ENTER,就可以開始用以下的指令了

在MongoDB Shell當中,常用的指令有:

MongoDB 文檔 https://www.mongodb.com/zh-cn/docs/