- 19
- 0
使用nodejs 删除上传到mongodb数据库的评论信息包括图片时报错如下
Cannot GET /discuss/delete/5d0b073b86195a6698a900fc
remove.js
const express = require('express');
const router = express.Router();
const fs = require('fs');
const path = require('path');
const formidable = require('formidable');
const discuss = require('../models/discuss');
const login=require('../middlewares/login')
router.get('/delete/:id', login,function (req, res) {
var id=req.query.id;
discuss.findByIdAndRemove(req.params.id, function (err) {
if (err) throw err;
console.log("数据库删除成功");
//删除相应的图片
fs.unlink(path.join(__dirname, "../", 'uploads', req.query.img), function (err) {
if (err) throw err;
console.log("图片删除成功");
});
res.redirect("/writdiscuss/discuss");
})
})
module.exports = router;
remove.ejs
<%- include ./common/header.ejs %>
<!-- 头部 -->
<div class="header" style="left: 0px;">
<!-- <div class="serch">
<input type="text" placeholder="城市名/酒店名">
<button class="serchbtn">搜索</button>
</div> -->
<div class="rigth">
<div class="register">
<a href="/register">注册</a>
</div>
<div class="login">
<a href="/login">登录</a>
</div>
<div class="out">
<a href="">退出</a>
</div>
</div>
<div class="down">
<div class="nav">
<ul>
<li><a href="/home">首页</a></li>
<li><a href="">酒店</a></li>
<li><a href="/city">目的地</a></li>
<li><a href="/my" style="color: #ffff">我的</a></li>
</ul>
</div>
</div>
</div>
<div class="centen">
<div class="centen-mbx">
<h2 style="margin-left: 93px;margin-top: 23px;font-size: 17px;">我的 >> >> 我的评论</h2>
</div>
<div class="table-responsive">
<table class="table table-striped ">
<tbody>
<% for(var i=0; i<arr.length;i++){ %>
<tr>
<td><%=arr[i].content%></td>
<td><img src="<%=arr[i].pic%>"></td>
<td class="publishtime"><%=moment(arr[i].publishAt).format('YYYY/MM/DD HH:mm:ss')%></td>
<td class="chaoz">
<!-- <a href="/discuss/update/<%=arr[i].id%>" class="btn-success">修改</a> -->
<a href="/discuss/delete/<%=arr[i]._id%>?img=<%=arr[i].pic%>" >删除</a>
</td>
</tr>
<% }%>
</tbody>
</table>
</div>
</div>
<%- include ./common/fooder.ejs %> - 共 0 条
- 全部回答
-
╭初夏ぃ染指忧伤つ 普通会员 1楼
在Node.js中删除MongoDB数据库中的评论信息,可以使用MongoDB的游标和JavaScript的异步特性。以下是一个基本的示例:
首先,你需要安装Node.js和MongoDB。你可以在Node.js的官方网站上下载适合你的操作系统的安装包。
然后,你需要在你的Node.js项目中创建一个数据库和一个集合,用于存储评论信息。例如,你可以创建一个名为评论的集合,其中包含一个名为“content”和一个名为“user”的字段。
以下是一个基本的示例:
```javascript const MongoClient = require('mongodb').MongoClient; const uri = 'mongodb://localhost:27017'; const client = new MongoClient(uri);
client.connect(function(err) { if (err) throw err; console.log("Connected successfully");
const db = client.db('your_database_name'); const collection = db.collection('your_collection_name'); collection.removeMany({ $场景: { $text: { $search: "your_text_string" } } }, function(err, res) { if (err) throw err; console.log("评论信息已成功删除"); });}); ```
在这个示例中,我们首先创建了一个MongoDB客户端,然后连接到我们的数据库和集合。然后,我们使用
removeMany方法删除所有包含特定文本字符串的评论。请注意,你需要将
'your_database_name','your_collection_name'和'your_text_string'替换为你的实际数据库名、集合名和文本字符串。此外,如果你的评论信息包含图片,你可能需要使用不同的方法来删除它们。例如,你可能需要首先删除图片,然后删除评论信息。你可以使用
removeOne方法来删除一个文档,然后使用removeMany方法来删除所有包含该文档的集合中的文档。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
