Получить JSon не возвращает размещенный объект - PullRequest
0 голосов
/ 01 июля 2019

Я отправляю объект в Mongo и получаю его, но он не возвращает то, что я написал. Я новичок в бэкенде и не могу понять, что происходит, ни один из кодов не так, так что, возможно, это с сервер? Я не получаю никаких ошибок, которые я добавляю успешно добавлено

http://localhost:4000/todos/add
Post
{
      "todo_description": "My First Todo",
      "todo_responsible": "Sebastian",
      "todo_priority": "Medium",
      "todo_completed": false
}

get http://localhost:4000/todos

[
    {
        "_id": "5d19426d5c6af41120abab1f",
        "__v": 0
    }
]

//this is the function that adds the todo item
todoRoutes.route("/add").post(function(req, res) {
  let todo = new Todo(req.body);
  todo.save()
    .then(todo => {
      res.status(200).json(todo);
    })
    .catch(err => {
      res.status(400).send("adding new todo failed");
    });
});

const mongoose = require("mongoose");
const Schema = mongoose.Schema;

let Todo = new Schema({
  todo_description: {
    type: String
  },
  todo_responsible: {
    type: String
  },
  todo_priority: {
    type: String
  },
  todo_completed: {
    type: Boolean
  }
});

module.exports = mongoose.model("Todo", Todo);

todo зарегистрировано я получаю информацию в базе данных Я ожидаю, что это получит информацию, которую я разместил

1 Ответ

1 голос
/ 01 июля 2019

Проблема в том, что вы создаете свой собственный объект JSON со значением "todo added successfully".Если вы хотите вернуть только что созданный объект todo, используйте следующий код:

todoRoutes.route("/add").post(function(req, res) {
let todo = new Todo(req.body);
todo.save()
  .then(todo => {
    res.status(200).json(todo); // <--- change to this
  })
  .catch(err => {
    res.status(400).send("adding new todo failed");
  });
});

Надеюсь, это решит вашу проблему

...