在Node.js中使用Express實現視頻評論的列表展示和刪除功能
實現Node.js應用中的視頻評論列表展示與刪除功能
在現代Web應用中,視頻內容和互動功能(如評論)的結合極大地增加了用戶的參與度。本文將通過一個具體的例子,展示如何在Node.js環(huán)境中使用Express框架來實現視頻評論的列表展示和刪除功能。
1. 創(chuàng)建API路由
首先,我們需要設置相應的路由以處理前端的請求。以下是如何設置獲取視頻評論列表和刪除特定評論的路由:
// router/video.js
router
.get('/commentList/:videoId', videoController.commentList)
.delete('/comment/:videoId/:commentId', verifyToken(), videoController.deleteComment);
這里,我們創(chuàng)建了兩個路由:一個用于獲取特定視頻的評論列表,另一個用于刪除評論。注意,刪除評論路由使用了verifyToken()中間件來確保操作的安全性。
2. 添加Controller邏輯
接下來,我們在videoController.js中定義具體的業(yè)務邏輯。
- 獲取評論列表:
// videoController.js
exports.commentList = async (req, res) => {
const videoId = req.params.videoId;
const { pageNum = 1, pageSize = 10 } = req.body;
const comments = await VideoComment
.find({ video: videoId })
.skip((pageNum - 1) * pageSize)
.limit(pageSize)
.populate('user', '_id username image');
const commentCount = await VideoComment.countDocuments({ video: videoId });
res.status(200).json({ comments, commentCount });
};
此函數首先從請求中獲取videoId,以及用于分頁的pageNum和pageSize。通過populate方法,我們還能獲取發(fā)表評論用戶的部分信息,如用戶名和頭像。

- 刪除評論:
// videoController.js
exports.deleteComment = async (req, res) => {
const { videoId, commentId } = req.params;
const videoInfo = await Video.findById(videoId);
if (!videoInfo) {
return res.status(404).json({ err: "視頻不存在" });
}
const comment = await VideoComment.findById(commentId);
if (!comment) {
return res.status(404).json({ err: "評論不存在" });
}
if (!comment.user.equals(req.user.userinfo._id)) {
return res.status(403).json({ err: "無權限刪除" });
}
await comment.deleteOne();
videoInfo.commentCount--;
await videoInfo.save();
res.status(200).json({ err: "刪除成功" });
};
在刪除評論的邏輯中,我們首先驗證了視頻和評論是否存在,并確認當前用戶是否有權刪除該評論。隨后,執(zhí)行刪除操作并更新視頻的評論計數。
3. 測試功能
為了確保我們的API正常工作,我們可以使用Postman進行測試。首先測試獲取評論列表功能,然后測試刪除評論功能。通過這種方式,我們可以確保我們的接口在前端集成之前就已經是功能完備的。

結論
通過Node.js和Express框架,我們能夠有效地實現評論功能的添加和管理。這不僅提升了用戶的互動體驗,也為開發(fā)者提供了高效管理內容的工具。在實際部署時,還應考慮添加更多的安全和錯誤處理功能,以確保應用的穩(wěn)定和安全。
到此這篇關于在Node.js中使用Express實現視頻評論的列表展示和刪除功能的文章就介紹到這了,更多相關Node.js Express評論展示與刪除內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
node.js入門教程之querystring模塊的使用方法
querystring模塊主要用來解析查詢字符串,下面這篇文章主要介紹了關于node.js中querystring模塊使用方法的相關資料,需要的朋友可以參考借鑒,下面來一起看看吧。2017-02-02
Node中使用http-proxy-middleware實現代理跨域的方法步驟
本文主要介紹了Node中使用http-proxy-middleware實現代理跨域的方法步驟,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11

