iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 3
3
AI & Data

從入門到精通 MongoDB系列 第 3

Day03: MongoDB 的 CRUD(1) - 資料庫基本操作

  • 分享至 

  • xImage
  •  

今天開始會介紹如何在 MongoDB 資料庫中進行 CRUD(新增、刪除、更新、查詢)基本操作。首先,先來介紹一些 MongoDB 資料庫的基本概念。

Database, Collection, Document, Field

在 MongoDB 資料庫裡,最基本的概念以下四項:databasecollectiondocumentfield。如果有學習過 MySQL 的話,則可以從以下的對應關係來認識這四項:

MongoDB MySQL
database database
collection table
document row
field column

一個 database 是由一個或多個 collections 所組成,而每個 collection 則是由一個或多個 documents 所組成。

Document

在 MongoDB 中每一筆被儲存的資料為 document,其資料結構為 BSON(binary JSON),是一種 JSON-like 的格式。

{
	"_id" : ObjectId("5f572f6f771ff988c1794832"),
	"first_name" : "Robin",
	"last_name" : "Jackman",
	"title" : "Software Engineer",
	"salary" : 3000,
	"Internship" : true
},
{
	"_id" : ObjectId("5f573183771ff988c1794833"),
	"first_name" : "Taylor",
	"last_name" : "Edward",
	"title" : "Software Architect",
	"salary" : 7500,
	"Internship" : false
}

上圖 BSON 格式的內容為由 {} 括起來的兩個 documents,每個 document 是由 field-value 的形式來儲存資料,每個欄位 field 對應的值為 value,例如上圖中第一個 document 的 field-value 則可以用下方表格來呈現:

field value
first_name robin
last_name Jackman
title Software Engineer
salary 3000
Internship true

The mongo Shell

mongo Shell 是用來操作 MongoDB 的 JavaScript 互動式介面,可以在這裡對資料庫中的資料進行查詢(query)或更新(update),以及其他相關的資料庫管理操作。

在 terminal 中輸入 mongo 即可進入 mongo Shell:

在前四行可以看到 mongo Shell 的相關資訊:

  • MongoDB shell version: v4.4.0
  • connection: local 端為 127.0.0.1,listening port 為 27017
  • session: 包含 lsid(logical session id)
  • MongoDB server version: 4.4.0

指令

在 mongo Shell 裡可以使用各種指令來對資料進行操作,這裡先簡單介紹幾個最常用的指令:

基本指令

  • cls : clear,清空視窗畫面
  • help : 指令相關資訊
  • exit : 離開 mongo Shell

database 操作

  • show dbs : 列出目前存在的 database
    • 預設的 database 有:admin, config 及 local
  • use <db_name> : 指定 database,若不存在則創建新 database
  • createCollection(name, {size: ..., capped: ..., max: ...}) : 建立 collection(可指定大小、上限等)
  • db.getCollectionNames() : 列出目前 database 裡的 collection
  • db.getName() : 顯示當前位置
    • 目前位於 demo 這個 database
  • db.dropDatabase() : 刪除當前的 database

今天簡單介紹了 MongoDB 的基本概念以及在 mongo Shell 中操作資料庫的基本指令,下一篇將會介紹如何在 MongoDB 裡進行 insert 新增資料及 delete 刪除資料。


上一篇
Day02: MongoDB 的安裝與環境配置
下一篇
Day04: MongoDB 的 CRUD(2) - Insert & Delete
系列文
從入門到精通 MongoDB26
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言