首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MongoDB .push返回null

问MongoDB .push返回null
EN

Stack Overflow用户
提问于 2020-05-09 06:47:20
回答 1查看 28关注 0票数 0

这是我目前正在处理的GitHub代码库:https://github.com/Stick-z/first-media-app

我正在尝试做一个网站,目前正在开发我的后端。我使用joke.push在我的类别部分设置了一个笑话数组;但是,每当我尝试发出一个POST请求来添加一个新笑话时,它都会返回null (在控制台中),并且我的请求永远不会完成(使用失眠)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-09 07:17:34

我在github中看到了你的代码,我认为下面的部分有一些问题。如果是这样,请将其添加到您的答案中。

代码语言:javascript
复制
router.post("/:id/joke/new", (req, res) => {
  const newJoke = new Joke({
    user: req.body.user,
    text: req.body.text,
  });
  console.log(newJoke);
  console.log(Category.findById(req.params.id));
});

显然,不存在添加到数据库的逻辑,所以使用我的mongoose-fu,我会对一些东西进行一些修改。此外,我在此方法中也看不到任何res.send或res.json。您可以将创建的更新对象作为json或任何成功/失败通知返回。

代码语言:javascript
复制
router.post("/:id/joke/new", (req, res) => {
  const { id } = req.params;
  const { user, text } = req.body
  Category.findById(id)
    .then(doc => {
      if(doc) {
        doc.user = user;
        doc.text = text;
        doc.save().then(doc => res.json(doc))
        return;
      }

      const newJoke = new Joke({
        user,
        text,
      });

      newJoke.save().then(doc => res.json(doc))
    })
});

我不知道你的业务领域,可能会混淆模型,但我猜有些东西必须检查,然后再创建。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61689345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档