Когда я отправляю запрос HTTP POST в базу данных моего плана, я получаю ответ об успешном завершении, но созданный объект выглядит следующим образом:
{
"_id": "5c791ef4f80cfba4379987f1",
"__v": 0
}
Когда он должен выглядеть следующим образом:
{
"plan_name": 'first plan',
"plan_access": 1
}
Я попытался создать первый план в Почтальоне, который, казалось, был успешным, но по какой-то причине, когда я попытался получить план (запрос GET к mongodb://127.0.0.1:27017/plans
), но вместо получения всей информации о плане я вернулсяобъект {"_id": "...", "__v": 0}
Вот мой файл server.js
const express = require("express");
const app = express();
const bodyParser = require("body-parser");
const cors = require("cors");
const mongoose = require("mongoose");
const planRoutes = express.Router();
const PORT = 4000;
let Plan = require('./models/plan.model');
app.use(cors());
app.use(bodyParser.json());
mongoose.connect('mongodb://127.0.0.1:27017/plans', {useNewUrlParser:
true});
const connection = mongoose.connection;
connection.once('open', function(){
console.log("MongoDB database connection established successfully");
});
planRoutes.route('/').get(function(req, res){
Plan.find(function(err, plans){
if(err){
console.log(err);
} else {
console.log(plans)
res.json(plans)
}
});
});
planRoutes.route('/:id').get(function(req, res){
Plan.findById(req.params.id, function(err, plan){
if(err){
console.log(err);
} else {
res.json();
}
});
});
planRoutes.route('/add').post(function(req, res){
let plan = new Plan(req.body);
plan.save()
.then(plan=>{
res.status(200).json({'plans': 'Plan made successfully'});
})
.catch(err=>{
res.status(400).send('Plan made failed')
});
});
planRoutes.route('/update/:id').post(function(req, res){
Plan.findById(req.params.id, function(err, plan){
if(!plan){
res.status(404).send('data not found');
} else {
plan.plan_name = req.body.plan_name;
plan.access = req.body.plan_access;
plan.save().then(plan=>{
res.json('Update successful');
})
.catch(err=>{
res.status(400).send('Update failed');
});
}
});
});
app.use('/plans', planRoutes);
app.listen(PORT, function(){
console.log("server started on port: " + PORT + " teehee");
});
А вот мой файл Plan Model
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
let Plan = new Schema({
plan_name:{
type: String
},
access:{
type: Number //from 1 to 3
},
})
module.exports = mongoose.model('Plan', Plan);
Я работаю в Mac OS Mojaveи соответственно обновил homebrew, xcode и mongo.