mongodb Mongoose .保存()在Node/Express后端API内不工作

zzzyeukh  于 2023-01-20  发布在  Go
关注(0)|答案(1)|浏览(147)
PostsRouter.post("/ALL", (req, res) => {
  const { subreddit, title, user, body } = req.body;
  const post = new PostMessage({
    postID: uuidv4(),
    subreddit: subreddit,
    title: title,
    user: user,
    body: body,
  });
  console.log(post);
  async function _internal() {
    try {
      const newPost = await post.save();
      res.status(201).json(newPost);
    } catch (error) {
      res.status(400);
    }
  }
  _internal();
});

这个函数和它之前的工作方式完全一样,但是现在这个方法和我在其他地方定义的另一个PATCH方法失败了,因为在try块的第一行(用于将新数据保存到数据库“const newPost = awaitpost.save()"),承诺从未实现。当我调用这个API时,后端没有错误消息。我还包含了一张图片,显示了我是如何发出POST请求的,以及我得到的错误。

7eumitmz

7eumitmz1#

如果您想在数据库中创建一个文档,并将该文档用于任何进一步的操作,那么您可以使用下面的代码来实现此目的。

PostsRouter.post("/ALL", async(req, res) => {
      const { subreddit, title, user, body } = req.body;
      try {
        // PostMessage is the Model
        const newPost = await PostMessage.create({
          postID: uuidv4(),
          subreddit: subreddit,
          title: title,
          user: user,
          body: body,
      });
        console.log(newPost);
        res.status(201).json(newPost);
      }catch (error) {
        res.status(400);
      }
      }
    });

希望这个有用。

相关问题