iT邦幫忙

2023 iThome 鐵人賽

DAY 12
1
自我挑戰組

NodeJS with MongoDB專案開發系列 第 12

day 12mongo db專案開發

  • 分享至 

  • xImage
  •  

了解籃球球員比賽的進階數據

為了贏下一場籃球比賽,做好敵對球員的數據分析是相當重要的,因此今天要靠mongo db實作來完成籃球球員的進階數據,來針對防守以及進攻哪個方面做加強

const mongoose = require('mongoose');

// 連接到MongoDB數據庫
mongoose.connect('mongodb://localhost/basketball_stats', {
  useNewUrlParser: true,
  useUnifiedTopology: true,
});

const Player = mongoose.model('Player', {
  name: String,
  fieldGoalsMade: Number,  // 命中數
  assists: Number,        // 助攻數
  blocks: Number,         // 阻攻數
});

// 添加球員信息
const player1 = new Player({
  name: 'Stephen Curry',
  fieldGoalsMade: 286,
  assists: 474,
  blocks: 15,
});

const player2 = new Player({
  name: 'LeBron James',
  fieldGoalsMade: 539,
  assists: 542,
  blocks: 76,
});

// 保存球員信息到數據庫
player1.save((err) => {
  if (err) {
    console.error(err);
  } else {
    console.log('Stephen Curry的信息已保存');
  }
});

player2.save((err) => {
  if (err) {
    console.error(err);
  } else {
    console.log('LeBron James的信息已保存');
  }
});

// 斷開與數據庫的連接
mongoose.disconnect();
  1. 引入所需的庫:

    • 程式開始時,它引入了必要的庫,包括mongoose(用於與MongoDB數據庫交互的庫)。
  2. 連接到MongoDB數據庫:

    • 使用mongoose.connect方法連接到MongoDB數據庫。這裡的數據庫URI為mongodb://localhost/basketball_stats,表示本地MongoDB數據庫的名稱為"basketball_stats"。useNewUrlParseruseUnifiedTopology是用於配置MongoDB連接的選項。
  3. 定義Mongoose模型:

    • 使用mongoose.model方法定義了一個名為Player的Mongoose模型,該模型將映射到MongoDB的"players"集合。模型包括球員的名字(name)、命中數(fieldGoalsMade)、助攻數(assists)和阻攻數(blocks)等字段。
  4. 添加球員信息:

    • 程式創建了兩名球員,分別是Stephen Curry和LeBron James的信息,包括他們的命中數、助攻數和阻攻數。
  5. 保存球員信息到數據庫:

    • 使用save方法,程式將創建的球員信息保存到MongoDB數據庫中。如果保存成功,將打印一條成功消息,否則將輸出錯誤信息。
  6. 斷開與數據庫的連接:

    • 使用mongoose.disconnect方法斷開與MongoDB數據庫的連接,確保在程式運行完畢後正確關閉連接。

上一篇
day 11 Node.js解決籃球命中率程式
下一篇
day 13mongo db with node.js專案開發
系列文
NodeJS with MongoDB專案開發30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言