سلام
روز بخیر. یه مشکلی داشتم که نمیدونم چرا وقتی میخوام توو دیتابیس ذخیره کنم با متد post اطلاعات body رو اصلا نمی خونه و یه رکورد خالی با id فقط ذخیره میشه. برنامه رو توو تلگرام براتون فرستادم. ممنون میشم منو راهنمایی کنید.
const _ = require("lodash");
const SupervisionModel = require("../models/supervision_model");
module.exports = new (class SupervisionController {
async add(req, res) {
const newRecord = new SupervisionModel(
_.pick(req.body, ["year", "field", "group", "price"])
);
console.log(newRecord);
const record = await newRecord.save();
res.send(_.pick(record, ["year", "field", "group", "price"]));
console.log(record);
}
async getTariffList(req, res) {
const tariffList = await SupervisionModel.find();
res.send(tariffList);
}
})();
const mongoose = require("mongoose");
const schema = new mongoose.Schema({
year: { type: String },
field: { type: String },
group: { type: String },
price: { type: String },
});
const SupervisionModel = mongoose.model("supervision", schema);
module.exports = SupervisionModel;
const express = require("express");
const router = express.Router();
const SupervisionController = require("../controllers/supervision_controller");
router.post("/api/supervision/add", SupervisionController.add);
module.exports = router;
اینم فایل index.js:
const express = require("express");
const app = express();
const mongoose = require("mongoose");
const SupervisionRoute = require("./routes/supervision_route");
class Application {
constructor() {
this.setupExpressServer();
this.setupMongoose();
this.setupRoutesAndMiddleware();
}
setupRoutesAndMiddleware() {
app.use(SupervisionRoute);
}
setupMongoose() {
mongoose
.connect("mongodb://localhost:27017/tariff", {
useUnifiedTopology: true,
})
.then(() => {
console.log("Connected to database.");
})
.catch((err) => {
console.log("Not connected to database!", err);
});
}
setupExpressServer() {
const port = process.env.port || 3000;
app.listen(port, (error) => {
if (error) {
console.log(error);
} else {
console.log(`app listen to port ${port}`);
}
});
}
}
module.exports = Application;
post request:
database mongoDB:
ممنون که پاسخ میدین.
سلام نیاز ب استفاده از میدل ور express.json دارید
app.use(express.json)