我有一个示例nodejs app,其中mondodb中的api通过mongoose连接。我得到了一堆像这样的回复(下面的Sinple条目)
{
name:"Task1"
status:["pending"]
0:"pending"
__v:0
_id:"592d6a398eb24a9ac85d1184"
}
现在如果我必须删除该条目,我将创建一条路线,如:
/tasks/_id
我在nodejs中创建它,它工作正常。我需要使用ajax删除操作执行删除操作。如何在将删除记录的ajax中创建/ tasks / _id之类的路由。以下是我的代码。
$.ajax({
type:'DELETE',
url:'/tasks/' + how to get _id here from mongodb, which could be available only on successful ajax operation,
success : function( data) {
console.log('success);
},
error : function() {
console.log('error');
}
})
答案 0 :(得分:0)
首先在ajax中,属性名称是'method'而不是'type'。其次你要删除一条记录,你应该在链接或某处有mongodb记录id 喜欢前端的/ tasks / mongodbId或/ tasks / 343sddfsdf3434。你可以通过一些循环等显示或打印 或假设var id = task._id;
<a id="link" data-mongo-id="sfsdfs4343dsfds" href="tasks/sfsdfs4343dsfds">link<a/>
然后你可以从前端调用ajax方法。
$.ajax({
method:'DELETE',
url:'/tasks/' + $("#link").attr('data-mongo-id'),
success : function( data) {
console.log('success);
},
error : function() {
console.log('error');
}
})
在后端你可以使用像
这样的方法var express = require('express')
var app = express()
app.delete('tasks/:mongo_id', function (req, res) {
///your mongose delete query
Task.findByIdAndRemove(req.params.mongo_id, function (err, task) {
var response = {
message: "task successfully deleted",
id: req.mongo_id
};
res.send(response);
});
})