25.01.2024 в 13:32
Иван Белов
Как создать POST API с помощью Mongodb и Node JS
Cначала вам нужно установить соединение с вашей базой данных, для этого будет создан файл db.js
, вам нужно импортировать этот файл в свой основной файл с именем index.js
или файл server.js
, вы можете увидеть это в нижних фрагментах кода.
const mongoose = require("mongoose");
const express = require("express");
require("dotenv").config();
const app = express();
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
mongoose.connect(process.env.MONGODB_URI, {
useNewUrlParser: true,
useUnifiedTopology: true,
});
const db = mongoose.connection;
db.once("open", (_) => {
console.log("Database connected:", process.env.MONGODB_URI);
});
db.on("error", (err) => {
console.error("connection error:", err);
});
Create a usermodel.js file in your node js project
const moongoose = require("mongoose");
const userSchema = new moongoose.Schema({
name: { type: String, required: true },
email: { type: String, required: true }
phone: { type: Number, required: true }
//---- you can add multiple parameters over here
});
module.exports = moongoose.model("user", userSchema)
Теперь создадим файл маршрута, в котором мы будем иметь доступ к этой схеме и создадим API для хранения данных в базе данных.
Создать файл userroutes.js
const express = require("express");
const router = express.Router();
const user= require("./usermodel.js");
//-------- api structure -------------------
router.post("/adduser", async (req, res) => {
const { name , email, phone} = req.body;
try {
const newUser= new user({
name,
email,
phone
});
const savedUser = await newUser.save();
res.status(200).json(savedUser);
} catch (err) {
res.status(500).json(err);
}
});
module.exports = router; //======>dont for get to add
Возможно, у вас уже есть этот файл с именем server.js
или index.js
в структуре вашей папки, где вы собираетесь создать структуру API.
const express = require("express");
const bodyParser = require("body-parser");
const app = express();
var cors = require("cors");
app.use(express.urlencoded({ extended: true }));
app.use(bodyParser.json());
require("./db");
const User = require("./userroutes.js");
app.use("/api", User);
const server = app.listen(process.env.PORT, () => {
console.log(`listening on port ${process.env.PORT}!`);
});
server;
Так что теперь вы можете создавать больше API
Приятного кодинга!