使用Node.js和MongoDB的酒店预订系统

使用Node.js和MongoDB的酒店预订系统

在酒店预订系统中,将为用户提供姓名、电子邮件和房间号码。我们需要创建模式,并且还有两个API。一个API用于从数据库获取数据,另一个API用于向数据库发送房间号码、姓名、电子邮件等数据。

先决条件:

  • 系统中已安装Node.js(安装)
  • 系统中已安装MongoDB(安装)
  • Postman桌面版或Thunderclient VScode扩展(安装)

    项目设置和模块安装:

步骤1: 进入您要创建API的文件夹,使用IDE打开它,同时打开命令提示符或PowerShell运行:

npm init -y 

步骤2: 使用以下命令创建名为 index.js 的文件:

touch index.js

步骤3: 现在使用以下命令安装 mongoose 和 MongoDB 模块:

npm i express mongoose mongodb cors

项目结构:

它看起来是这样的。

使用Node.js和MongoDB的酒店预订系统

示例: 现在在 index.js 文件中写入以下代码

index.js

// To connect with your mongoDB database 
const mongoose = require('mongoose'); 
  
mongoose.connect( 
  'mongodb://localhost:27017/', 
  { 
    dbName: 'yourDB-name', 
    useNewUrlParser: true, 
    useUnifiedTopology: true, 
  }, 
  (err) => (err ? console.log(err) :  
    console.log('Connected to yourDB-name database')), 
); 
  
// Schema for hotel Booking 
const UserSchema = new mongoose.Schema({ 
  name: { 
    type: String, 
  }, 
  email: { 
    type: String, 
    required: true, 
    unique: true, 
  }, 
  roomNo: { 
    type: String, 
    required: true, 
  }, 
  date: { 
    type: Date, 
    default: Date.now, 
  }, 
}); 
  
const RoomBooked = mongoose.model('users', UserSchema); 
RoomBooked.createIndexes(); 
  
// For backend and express 
const express = require('express'); 
const cors = require('cors'); 
  
const app = express(); 
app.use(express.json()); 
app.use(cors()); 
  
app.get('/', (req, resp) => { 
  resp.send('App is Working'); 
}); 
  
// Register data to book hotelroom 
app.post('/register', async (req, resp) => { 
  try { 
    const user = new RoomBooked(req.body); 
    let result = await user.save(); 
    result = result.toObject(); 
    if (result) { 
      delete result.password; 
      resp.send(req.body); 
      console.log(result); 
    } else { 
      console.log('User already register'); 
    } 
  } catch (e) { 
    resp.send('Something Went Wrong'); 
  } 
}); 
  
// Getting roombooked details 
app.get('/get-room-data', async (req, resp) => { 
  try { 
    const details = await RoomBooked.find({}); 
    resp.send(details); 
  } catch (error) { 
    console.log(error); 
  } 
}); 
  
// Server setup 
app.listen(5000, () => { 
  console.log('App listen at port 5000'); 
});

运行应用程序: 运行以下命令启动应用程序:

node index.js 

输出: API用于预订房间并获取详细信息。

  • 注册或预订
http://localhost:5000/register
  • 从数据库获取预订数据
http://localhost:5000/get-room-data

使用Node.js和MongoDB的酒店预订系统

注意: 如果你打开你的MongoDB,你可以在里面看到这些数据

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程