Login end sisse cloud.mongodb.com
Loon uus projekt ja cluster

Salvestan lingi andmebaasi ühendamiseks

Loon uus andmebaas ja kollektsioon.

Projektis:
Laen alla mongoose
npm install mongoose
Lisan uus kood anmebaasi ühendamiseks index.js’is:
const Product = require('./models/product');
const mongoose = require('mongoose');
const uri = 'mongodb+srv://anton9032_db_user:oleksandrbohatyrov@cluster0.crul0.mongodb.net/?retryWrites=true&w=majority&appName=Cluster0'
mongoose.connect(uri, {
useNewUrlParser: true,
useUnifiedTopology: true,
})
.then(() => console.log('Connected to MongoDB Atlas'))
.catch((error) => console.error('Error connecting to MongoDB Atlas:', error));
Lisan andmete mudel models/product.js
const mongoose = require('mongoose');
const productSchema = new mongoose.Schema({
id: {
type: Number,
required: true,
unique: true
},
name: {
type: String,
required: true
},
price: {
type: Number,
required: true
}
});
const Product = mongoose.model('Product', productSchema);
module.exports = Product;
Muudatud API endpoint’id mongodb kasutamiseks.
// list
app.get('/products', async (req, res) => {
try {
const products = await Product.find();
res.json(products);
} catch (error) {
res.status(500).json({ message: error.message });
}
});
// add
app.post('/products', async (req, res) => {
try {
const lastProduct = await Product.findOne().sort({ id: -1 });
const newId = lastProduct ? lastProduct.id + 1 : 1;
const product = new Product({
id: newId,
name: req.body.name,
price: req.body.price
});
const newProduct = await product.save();
res.status(201).json(newProduct);
} catch (error) {
res.status(400).json({ message: error.message });
}
});
// delete
app.delete('/products/:id', async (req, res) => {
try {
const product = await Product.findOne({ id: req.params.id });
if (!product) return res.status(404).json({ message: 'Product not found' });
await product.deleteOne();
res.status(204).send();
} catch (error) {
res.status(500).json({ message: error.message });
}
});
Kontroll



Lõpplik projekti faili stuktuur:
