删除是如何删除mongodb中的条目,如何执行jquery ajax删除操作?

时间:2017-06-03 17:59:35

标签: jquery node.js ajax mongodb express

我有一个示例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');

      }
    })

1 个答案:

答案 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);
   });

    })