Esimesena me registreerime ja logime end sisse https://cloud.mongodb.com/
Pärast me läheme Database Access ja lisame sinna uue kasutajad
Võtame sidumise stringi Clusters -> Connect
Lisame selle stringi .env faili sisse
Pärast seda kõikke me laeme alla mongoose ja dotenv
npm i mongoose
npm i dotenvLoome .env faili ja sinna sisse kirjutame MONGODB_URI = <kirjutame stringi mida me saime>
NB! LISAGE .gitignore selleks, et teie .env faili keegi ei kasutaks
Loome models/game.js, sinna sisse me kirjutame
const mongoose = require('mongoose');
const gameSchema = new mongoose.Schema({
id: {
type: Number,
required: true,
unique: true
},
name: {
type: String,
required: true
},
price: {
type: Number,
required: true
}
});
module.exports = mongoose.model('Game', gameSchema);Pärast läheme server.js faili sisse ja lisame
const mongoose = require('mongoose');
const Game = require('./models/game');
require('dotenv').config();
const uri = process.env.MONGODB_URI;Pärast seda lisame veel
mongoose.connect(uri)
.then(() => console.log('MongoDB connected'))
.catch(err => console.log("Error connecting to MongoDB:", err));ja pärast seda kõikke lisamist me saame ümberkirjutame meie API´si, peab tulema midagi
//Saame kõik mänge
app.get('/games', async (req, res) => {
try {
const games = await Game.find();
res.json(games);
} catch (error) {
res.status(500).json({ message: error.message });
}
});
//lisame mängu näiteks
//.\xh.exe -v http://localhost:5001/games name=Dota2 price=0.00
app.post('/games', async (req, res) => {
try {
const lastGame = await Game.findOne().sort({ id: -1 });
const newId = lastGame ? lastGame.id + 1 : 1;
const game = new Game({
id: newId,
name: req.body.name,
price: req.body.price
});
const newGame = await game.save();
res.status(201).json(newGame);
} catch (error) {
res.status(400).json({ message: error.message });
}
});
//Päring uuendab id järgi
app.put('/games/:id', async (req, res) => {
try {
const game = await Game.findOne({ id: req.params.id });
if (!game) return res.status(404).json({ message: 'Game not found' });
game.name = req.body.name || game.name;
game.price = req.body.price || game.price;
const updatedGame = await game.save();
res.json(updatedGame);
} catch (error) {
res.status(400).json({ message: error.message });
}
});
//päring mis kustutab id järgi
app.delete('/games/:id', async (req, res) => {
try {
const game = await Game.findOne({ id: req.params.id });
if (!game) return res.status(404).json({ message: 'Game not found' });
await game.deleteOne();
res.json({ message: 'Game deleted' });
} catch (error) {
res.status(500).json({ message: error.message });
}
});
Pärast seda kõikke meie struktuur võib näha selliseks

Kokkuvõtte:
Me uuendasime meie vanasi APIˇsi, andsime nendele, et nad salvestasiks meie andmeid mitte ainult locaalis, nüüd meie andmed on salvestatud nüüd mongodbˇes
Kui te tahate vaadata minu projekti siis võite vaadata minu GitHub: link