用 Node.js 享受 Cloud MongoDB 吧

這篇文章寫於 2021 年,文中的工具與版本可能已經更新,實作時請以官方文件為準。

你知道有免費的 Cloud MongoDB 資源可以使用嗎?雖然跟著官方教學走就能順利使用,但有些小細節我還是補充一下避免新手擔心,希望大家可以無障礙的使用這些資源~

用 Node.js 享受 Cloud MongoDB 吧(圖 1)

大綱
一、建立雲端 MongoDB
  SETP 1:註冊帳號
  SETP 2:建立組織(Organization)
  SETP 3:建立專案(Project)
  SETP 4:建立叢集(Build your first cluster)
  SETP 5:建立 DB 使用者(Create your first database user)
  SETP 6:加入可以存取的 IP(Add IP Address to your Access List)
  SETP 7:載入範例資料(Load Sample Data)
  SETP 8:連線到這個叢集(Connect to your cluster)
二、用 Node.js 取得雲端 MongoDB 的資料

一、建立雲端 MongoDB

SETP 1:註冊帳號

建議直接用 Google 帳號登入就好了,這個是真的有「免費」資源讓大家使用的。

一、建立雲端 MongoDB(圖 2)

基本上你只打勾才能下一步啦

一、建立雲端 MongoDB(圖 3)

SETP 2:建立組織(Organization)

左下角的「Get Started」是官方教學,但如果在這個階段「Build your first cluster」會失敗 QQ,所以建議按照文章操作順序比較穩定

點擊「Create an Organization」

一、建立雲端 MongoDB(圖 4)

輸入組織名稱後點擊「Next」

一、建立雲端 MongoDB(圖 5)

點擊「Create Organization」建立組織,你之後還是可以邀請其他人進來這個組織,不急於現在。

一、建立雲端 MongoDB(圖 6)

SETP 3:建立專案(Project)

點擊「New Project」

一、建立雲端 MongoDB(圖 7)

輸入專案名稱

一、建立雲端 MongoDB(圖 8)

點擊「Create Project」建立專案

一、建立雲端 MongoDB(圖 9)


SETP 4:建立叢集(Build your first cluster)

選最右邊「FREE」的

一、建立雲端 MongoDB(圖 10)

這邊我是選擇「Google Cloud」在「Taiwan」的機器,選好後按「Create Cluster」

一、建立雲端 MongoDB(圖 11)

SETP 5:建立 DB 使用者(Create your first database user)

點擊「Add New Database User」建立使用者

一、建立雲端 MongoDB(圖 12)

他有提供三種驗證方式,如果是初學者我建議選擇「Password」就好,而密碼我建議用「Autogenerate Secure Password」產生的比較安全;其他權限都先使用默認就好,按下「Add User」便建立成功~

一、建立雲端 MongoDB(圖 13)

SETP 6:加入可以存取的 IP(Add IP Address to your Access List)

點擊「Add IP Address」加入 IP

一、建立雲端 MongoDB(圖 14)

如果你電腦的 IP 是固定的就選「ADD CURRENT IP ADDRESS」,如果是使用手機分享或是其他浮動 IP,你可以選「ALLOW ACCESS FROM ANYWHERE」,但如果選了這個就真的要小心保護你的帳號密碼不要外流

一、建立雲端 MongoDB(圖 15)

SETP 7:載入範例資料(Load Sample Data)

為了方便讓大家測試與學習,官方提供範例資料讓大家使用

一、建立雲端 MongoDB(圖 16)

點擊「Load Sample Dataset」即可,大概等個 5~8 分鐘左右載入

一、建立雲端 MongoDB(圖 17)

SETP 8:連線到這個叢集(Connect to your cluster)

點擊「Connect」來看連線的方式

一、建立雲端 MongoDB(圖 18)

這裡我推薦使用「MongoDB Compass」,有 GUI 介面就是友善~

一、建立雲端 MongoDB(圖 19)

下載及安裝的方式請依照自己的作業系統處理,這裏我就不贅述了;但下面連線字串真的要複製起來等等連線要用

一、建立雲端 MongoDB(圖 20)

打開安裝好的「MongoDB Compass」後,在框框內貼上剛剛複製的連線字串,記得要把 <password> 換成在 「STEP 5 建立 DB 使用者」的密碼

一、建立雲端 MongoDB(圖 21)

連進去後就能看到範例資料嚕~

一、建立雲端 MongoDB(圖 22)


二、用 Node.js 取得雲端 MongoDB 的資料

STEP 1:建立一個資料夾,輸入 npm init

SETP 2:安裝 MongoDB 套件 npm install mongodb

STEP 3:建立 index.js 並貼上官方範例程式

SETP 4:將 uri 的內容要改成自己的(你怎麼連線到 MongoDB Compass 這裡就是怎麼設定)

const { MongoClient } = require("mongodb");

// Replace the uri string with your MongoDB deployment's connection string.
const uri =
  "mongodb+srv://<user>:<password>@<cluster-url>?retryWrites=true&writeConcern=majority";

const client = new MongoClient(uri);

async function run() {
  try {
    await client.connect();

    const database = client.db('sample_mflix');
    const movies = database.collection('movies');

    // Query for a movie that has the title 'Back to the Future'
    const query = { title: 'Back to the Future' };
    const movie = await movies.findOne(query);

    console.log(movie);
  } finally {
    // Ensures that the client will close when you finish/error
    await client.close();
  }
}
run().catch(console.dir);

原始碼:Mongo_example.js(GitHub Gist)

STEP 5:在終端機輸入 node index.js

如果順利印出下面的資訊就代表你成功踏入 MongoDB 學習的第一步嚕~

二、用 Node.js 取得雲端 MongoDB 的資料(圖 23)

STEP 6:如果你有驗證的心,可以回到 MongoDB Compass

選好 DB 以及 Collection 後,在 filter 輸入 { title: ‘Back to Future’ } ,確認回傳結果是否與 Node.js 查到的相同

二、用 Node.js 取得雲端 MongoDB 的資料(圖 24)

Talk

留言討論

留言載入中…