【问题标题】:how to delete data from react crud using node js to mongoDB如何使用节点 js 从反应 crud 中删除数据到 mongoDB
【发布时间】:2019-08-04 03:30:52
【问题描述】:

我无法使用 reactjs 和 node js 删除 mongodb 中的值

  • 这是我的 react hooks axios post 方法发送到节点 js
    const deleteUser = id => {
            var data={"id":id}
             axios.post('http://localhost:8010/api/social/deletedata',data)
            .then((res) => {
                console.log('response',res);
            })
            .catch((error) => {
                console.log('error block called',error);
            })
            setEditing(false)
            setUsers(users.filter(user => user.id !== id))
            }

  • 这是我的节点 js 代码
     router.post('/deletedata', function(req, res, next) {
          console.log("deleted values are",req.body)
        //var id = req.body;

        MongoClient.connect(url, function(err, db) {
          assert.equal(null, err);
          var myId = JSON.parse(req.body.id);
          db.collection('customers').deleteMany({"_id": objectId(myId)}, function(err, result) {
            assert.equal(null, err);
            console.log('Item deleted');
            db.close();
          });
        });
      });

【问题讨论】:

  • 你有什么错误吗?
  • 它不会删除 mongodb 中的值。仅在节点 js 控制台中显示该 ID
  • 是否打印了这条消息?项目已删除。您还可以检查“err”变量是否有信息?
  • 是的,它是印刷的。并且 err 具有空值
  • 我认为这里的问题是这里没有指定数据库。您需要指定数据库名称。所以这里的数据库将是 db('myDBName')。

标签: node.js reactjs mongodb


【解决方案1】:

我认为你需要将_id作为ObjectID传递,试试这样

var mongodb = require('mongodb');


 router.post('/deletedata', function(req, res, next) {
          console.log("deleted values are",req.body)
        //var id = req.body;

        MongoClient.connect(url, function(err, db) {
          assert.equal(null, err);
          db.collection('customers').deleteMany({"_id": new mongodb.ObjectID(req.body.id)}, 
          function(err, result) {
            assert.equal(null, err);
            console.log('Item deleted');
            db.close();
          });
        });
      });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 2020-11-21
    • 1970-01-01
    • 2020-11-20
    • 2023-01-31
    • 2018-03-12
    相关资源
    最近更新 更多