今天在测试mongo数据库操作维护的时候,测试了一下直接在表内添加操作列来完成数据的删除操作,直接返回数据库ID,页面表格如下:
通过点击删除,即可完成对应条目数据库删除操作。
1、mongo数据操作<db1.js>
function delStudentid(id,callback){
MongoClient.connect(url, {useNewUrlParser: true}, function(err, client) {
if(err) {
console.log("连接数据库失败,请mongod开机");
return;
}
// Use the admin database for the operation
const db = client.db(dbName);
console.log("数据库连接成功");
console.log(id);
db.collection("banji").deleteOne(({_id:new ObjectID(id)}),(err,r) => {
if(err) {
console.log("删除失败");
callback("-1");
return;
}
callback("3")
})
})
}
2 html网页标记<student.html>
<table>
<tr>
<th>编号</th>
<th>姓名</th>
<th>年龄</th>
<th>性别</th>
<th>籍贯</th>
<th>操作</th>
</tr>
<%
arr.forEach((item,index) => {
%>
<tr>
<td><%= item._id %></td>
<td><%= item.uname %></td>
<td><%= item.age %></td>
<td><%= item.sex %></td>
<td><%= item.provice %></td>
<td><a href='delid?id=<%=item._id%>'>删除</td>
</tr>
<%
})
%>
</table>
或者利用script返回标记
<script>
$.get("/allstudent",(data) => {
var str = '';
data.results.forEach((item) => {
str += `<tr><td>${item._id}</td><td>${item.uname}</td><td>${item.age}</td><td>${item.sex}</td><td>${item.provice}</td><td><a href="delid?id=${item._id}">删除</td></th>`
})
$('#biaoge2').append(str);
})
</script>
3 路由操作<mainctrl.js>
exports.dodelid = (req,res) => {
var arg=url.parse(req.url).query;
var id=qs.parse(arg)['id'];
console.log(id);
db.delStudentid(id,(info) => {
res.end(info)
})
}
4 APP配置<app.js>
app.get("/delid",mainctrl.dodelid)
软件测试在网页上点<a>删除链接,发送处理/delid和需删除的业务ID,APP接收到请求后转给路由控制单元,匹配到对应的处理模块,分析出参数ID并转给MODULe模块的数据处理单元进行相应的删除操作,测试完成。
成功实现了mongo数据库利用ID直接删除操作。