如何为MongoDB子文档创建ExpressJSAPI?

如何为MongoDB子文档创建ExpressJSAPI?,mongodb,express,mongoose,restapi,subdocument,Mongodb,Express,Mongoose,Restapi,Subdocument,我正在尝试为MongoDB嵌套/子文档创建API。但是,对于HTTP请求方法、端点命名约定和子文档的mongoose CRUD方法,我确实感到困惑。 这是我的密码: // Create Subdocuments router.put("/blogs/:blogId/comment", async function (req, res) { const blogId = req.params.blogId; const { commentText } = req.bo

我正在尝试为MongoDB嵌套/子文档创建API。但是,对于HTTP请求方法、端点命名约定和子文档的mongoose CRUD方法,我确实感到困惑。 这是我的密码:

// Create Subdocuments

router.put("/blogs/:blogId/comment", async function (req, res) {
  const blogId = req.params.blogId;
  const { commentText } = req.body;

  const blog = await Blog.findById(blogId);
  blog.comments.push({ commentText });
  const newBlog = await blog.save();

  res.json(newBlog);
});

// Delete Subdocuments

router.put("/blogs/:blogId/comments/:commentId", async function (req, res) {
  const { blogId, commentId } = req.params;
  const blog = await Blog.findById(blogId);
  blog.comments.id(commentId).remove();
  const newBlog = await blog.save();

  res.json(newBlog);
});

// Update Subdocuments

router.put("/blogs/:blogId/comments/:commentId", async function (req, res) {
  const { blogId, commentId } = req.params;
  const blog = await Blog.findById(blogId);
  blog.comments.id(commentId).commentText = req.body.commentText;
  const newBlog = await blog.save();

  res.json(newBlog);
});

请告诉我子文档数组CRUD操作的最佳方法。

尽管此处的用户可以查看所有代码,但如果您能让我们明确知道您面临的问题或您遇到的错误,通常会更好encountered@SomeoneSpecial您应该注意到,在这里的“更新和删除”选项中,我写了同样的结束点,这永远不会奏效。我的问题很清楚。我想知道http方法、端点名称和mongoose crud方法。创建->发布、读取->获取、更新->放置、删除->删除,例如
router.Delete()
删除子文档。并修补部分更新。要在另一个MongoDB中帮助解决ExpressJs问题,请稍后。。。如果你能看到所有的工作。。。