iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 13
0

同步發表到驢形筆記

前情題要

上一篇我們註冊了雲端DB並且完全沒有碰程式碼,現在就讓我們來開始動程式碼。

該用哪個套件處理mongodb??mongodb VS mongoose

可以參考這篇文章Performance Difference in Mongoose vs MongoDB Native Driver,這邊會選擇使用mongoose,因為使用上比較簡單。如果使用mongodb速度會比較快因為他能控制到相當底層的東西。本篇使用的是mongoose所以沒辦法使用範例程式碼,請使用下面的程式碼。

首先安裝"mongoose"

npm i --save mongodb

app.js

略
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
mongoose.connect('那個網址', { 
  useNewUrlParser: true, 
  useUnifiedTopology: true 
});
// 連接資料庫

const accounts = new Schema({
  account_id: { type: Number},
  limit: { type: Number},
  products: { type: Array},
});
// 撰寫模型

const MyModel = mongoose.model('accounts', accounts, 'accounts');
// 註冊該模型並定義模型名稱

MyModel.find({}, function(err, docs){
  console.log(docs);
})
// 使用mongoose提供的方法去獲得該資料庫這個table的資料

module.exports = app;

使用"mongoose"需要先定義該資料庫的資料形狀,然後再利用"mongoose"提供的方法來獲取資料或是更改資料等。然後網址在範例程式碼內可以找到

https://ithelp.ithome.com.tw/upload/images/20200926/20130673FrKxo4nEws.jpg

mongodb+srv://ItHelp_Donkey:<password>@cluster0.acbw6.gcp.mongodb.net/<dbname>?retryWrites=true&w=majority

密碼就是剛剛你定義的用戶的密碼,然後dbname請跟隨以下步驟

https://ithelp.ithome.com.tw/upload/images/20200926/20130673HDPE9nH1yQ.jpg

https://ithelp.ithome.com.tw/upload/images/20200926/20130673Mw9xzi1tj1.jpg

記得上一篇我們安裝的測試用的資料嗎?這邊就是資料庫清單,而紅線就是我們要使用的那個資料庫。然後因為要撈取資料和定義模型,所以點擊"sample_analytics"後找到那個table

https://ithelp.ithome.com.tw/upload/images/20200926/20130673snPPZKhs96.jpg

除了 "id" 不用定義外,其他的定義上去。因為id那個會自動產生並且必要所以不用定義也可以用,然後開啟伺服器就能正確地去讀取到資料庫的帳戶資料了!

https://ithelp.ithome.com.tw/upload/images/20200926/20130673ofs0IKp3Gv.jpg

然後再回到雲端mongodb的主頁就會看你你剛剛的連線紀錄了

https://ithelp.ithome.com.tw/upload/images/20200926/20130673mY640KO81f.jpg

好的,這樣就成功串起了你的資料庫了!明天開始進行資料庫的增刪改查

githubday13


上一篇
[day12][註冊][實作] 串接,雲端MongoDB Atlas資料庫(上)
下一篇
[day14][後端][實作] CRUD,用mongoose去修改MongoDB
系列文
什麼都略懂一點,生活更多彩一些。從web跑js出發到部屬heroku伺服器撈取API建構線上網站與LineBot30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言