我正在使用MongoDB Atlas和Next.js构建Web应用程序
该应用程序应该有完整的CRUD到职位,到目前为止,创建和更新职位的工作正常。
但我无法让应用程序删除正确的帖子...
以下是我的删除路线:
export const DELETE = async (request, { params }) => {
console.log("params from single post api (delete)", params);
try {
await connectToDB();
await Post.findOneAndDelete(params.id);
return new Response("Post deleted successfully", { status: 200 });
} catch (error) {
return new Response("Failed to delete the post", { status: 500 });
}
};
字符串
控制台已记录我要删除的帖子的id
params from single post API(delete){ id:64b10e1f0535aa38a6f4eac9
但是当我点击删除btn后查看DB时,帖子仍然存在。
另一篇文章已被删除。我想知道为什么...
我用过findOneAndDelete()
和findOneAndRemove()
,没看出区别。
下面是完整的代码:https://github.com/gongtzuuuu/meloverse/blob/main/app/api/post/%5Bid%5D/route.js
任何建议将不胜感激!
1条答案
按热度按时间cgvd09ve1#
findOneAndDelete方法需要一个查询对象作为其参数,而不仅仅是帖子的ID。在代码中,您将params.id直接传递给findOneAndDelete。
字符串