iT邦幫忙

2023 iThome 鐵人賽

DAY 30
1
自我挑戰組

NodeJS with MongoDB專案開發系列 第 30

day 30 Node.js with Mongo DB專案開發

  • 分享至 

  • xImage
  •  

Node.js with Mongo DB專案開發 Summary

系統開發的總結將到今天告一段落,因此我目前列出幾點是做一個系統需要的:

  • 需求:需求的多樣性

  • 問題:定義問題

  • 設計:設計系統架構

  • 使用工具:Node.js 和 Mongo DB

  • 專案呈現:程式網頁是否能正常顯示與運作

我今天將來做這挑戰30最後一天的系統,筆記系統是每個人都需要,當需要了解一件事做好筆記就是相當重要的
使用MongoDB和Node.js建立一個簡單的筆記系統

  1. 安裝和設定MongoDB:

    • 安裝MongoDB並啟動MongoDB伺服器。
    • 創建一個資料庫來存儲筆記數據。
  2. 設置Node.js專案:

    • 創建一個新的Node.js專案資料夾。
    • 在專案資料夾中執行npm init以初始化專案並創建package.json文件。
  3. 安裝所需的Node.js模組:
    在專案資料夾中執行以下命令來安裝所需的Node.js模組:

    npm install express mongoose body-parser
    
  4. 建立Express應用程式:
    創建一個Node.js文件(例如app.js),並設置Express應用程式。以下是一個示例:

    const express = require('express');
    const mongoose = require('mongoose');
    const bodyParser = require('body-parser');
    const app = express();
    const port = process.env.PORT || 3000;
    
    mongoose.connect('mongodb://localhost/notes', { useNewUrlParser: true, useUnifiedTopology: true });
    
    app.use(bodyParser.json());
    app.use(bodyParser.urlencoded({ extended: true }));
    
    // 定義筆記模型
    const Note = mongoose.model('Note', {
      title: String,
      content: String,
    });
    
    // 創建筆記
    app.post('/notes', (req, res) => {
      const { title, content } = req.body;
      const note = new Note({ title, content });
    
      note.save()
        .then(() => {
          res.json(note);
        })
        .catch((err) => {
          res.status(400).send('無法創建筆記');
        });
    });
    
    // 獲取所有筆記
    app.get('/notes', (req, res) => {
      Note.find()
        .then((notes) => {
          res.json(notes);
        })
        .catch((err) => {
          res.status(500).send('無法獲取筆記');
        });
    });
    
    app.listen(port, () => {
      console.log(`筆記系統運行在 http://localhost:${port}`);
    });
    
  5. 執行應用程式:
    在專案資料夾中執行以下命令來啟動Node.js應用程式:

    node app.js
    
  6. 使用API:
    現在,我可以使用API來創建和獲取筆記。你可以使用Postman或瀏覽器來測試API請求。

    • 創建筆記:向 POST http://localhost:3000/notes 發送JSON數據。
    • 獲取所有筆記:向 GET http://localhost:3000/notes 發送GET請求。

這只是一個簡單的程式,我可以根據自己的需求擴展和定制筆記系統。我還可以添加身份驗證、用戶界面、編輯和刪除筆記等功能,使系統更完整和有用。

感謝iT邦幫忙提供的鐵人賽讓我每天都保持持續的學習,不管是新的語言還是複習舊的語言,小弟特別感謝看我文章的人和iT邦幫忙提供的機會


上一篇
day 29 node.js with mongo db
系列文
NodeJS with MongoDB專案開發30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言