iT邦幫忙

2025 iThome 鐵人賽

DAY 23
0

因為之前筆者打算將專案改使用 MongoDB Atlas 作為後端,因此今日想做一點簡單的MongoDB的語法介紹。


use 使用指令

我們可以使用 use 來在各個資料庫(database)中切換,倘若該名稱的資料庫並不存在於cluster之中的話,便會建立一個擁有該名稱的新資料庫。如下列範例中所示,我們可以使用此指令來建立一個名為 accounts 的新資料庫,並切換至其中。

[primary] admin> use accounts
switched to db accounts
[primary] accounts> 

創建並新增集合collections

當我們已經切至欲編輯的資料庫後,可以使用以下幾種指令來新增集合:

[primary] accounts> db.createCollection("user_info")

[primary] accounts> db.post.insertOne({
  title: "Post Title 1",
  body: "Body of post.",
  category: "News",
  likes: 1,
  tags: ["news", "events"],
  date: Date()
})

從上方範例可以看出,db.createCollections()可以用於新增一個集合,而 db.<collection_name>.insertOne() 將能夠在新增 documents 時一併將還不存在的集合建立起來。

Database 跟 Collections 是什麼

讀到這裡的你可能會有跟筆者相同的疑問,Database 跟 Collections 究竟是什麼東西,他們之間又有著什麼樣的關係?關於這一點,可以參考這個圖片:
https://media.geeksforgeeks.org/wp-content/uploads/20200219180521/MongoDB-database-colection.png

documents

1. 新增
資料庫的一大優勢,也是人們喜歡使用他們做檔案資料管理的原因,便是他們的資料處理能力,如新增、查詢、更新等等,想當然,MongoDB也少不了這方面的功能。除了上面所提及的 insertOne(),我們也可以使用 insertMany() 來一次新增多筆資料:

db.posts.insertMany([  
  {
    title: "Post Title 2",
    body: "Body of post.",
    category: "Event",
    likes: 2,
    tags: ["news", "events"],
    date: Date()
  },
  {
    title: "Post Title 3",
    body: "Body of post.",
    category: "Technology",
    likes: 3,
    tags: ["news", "events"],
    date: Date()
  },
  {
    title: "Post Title 4",
    body: "Body of post.",
    category: "Event",
    likes: 4,
    tags: ["news", "events"],
    date: Date()
  }
])

2. 查詢
在查詢方面,MongoDB提供了 find() 以及 findOne() ,這部份各位可以參考 w3school 所提供的教學,並於其網頁中實際操作看看。

3. 更新
與查詢的方法相似,更新將會需要一個查詢用的 Query,以及更新用的資料,並且也有「更新第一筆資料」以及「更新所有符合的資料」這兩種不同的函式,他們分別是 updateOne()updateMany() ,這部份各位可以參考 w3school

4. 刪除
與查詢相同,刪除也有著兩個不同的函式,那便是 deleteOne() 以及 deleteMany(),詳細可以參考 w3school


上一篇
【Day 22】API Contract
系列文
【網頁是什麼,能吃嗎】── 零基礎也能學會網頁製作23
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言