获取JSon不返回发布的对象

时间:2019-06-30 23:47:04

标签: mongodb httprequest postman backend

我正在向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);

待办事项已登录,我获取了数据库中的信息 我希望这能得到我发布的信息

1 个答案:

答案 0 :(得分:1)

问题是您用值"todo added successfully"制作了自己的JSON对象。如果要返回新创建的待办事项对象,请使用以下代码,

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");
  });
});

希望这可以解决您的问题