Удалить все данные в mongoDB сразу из React с помощью API - PullRequest
0 голосов
/ 08 мая 2019

Я новичок в программировании, и мне нужна помощь. В React я пытаюсь удалить все элементы из базы данных mongoDB с помощью axios с помощью map (). Когда я нажимаю кнопку «Удалить», она удаляет только один первый элемент при нажатии. Но мне нужно удалить все элементы сразу.

deleteAllHaspInfo = (e) => {     
     if (confirm("Do you really want to delete all hasp information from database?") === true){  //eslint-disable-line
          axios.delete("/hasp/delete", {
            data: {
              _id: this.state.hasps.map((_id) => _id)
            }
           })
           .then((res) => {
            console.log(res.data);
           })
           .catch((err) => {
            console.log(err);
         })
   } else {
     alert("Delete Canceled!");
   }       
   }
<button className="btn btn-danger" style={{margin:'0 10px'}}
          onClick={this.deleteAllHaspInfo}>Delete all hasp info from database</button> 

Необходимо удалить все элементы одновременно. Я думаю, что я использую map () неправильно ...

1 Ответ

0 голосов
/ 09 мая 2019

Спасибо, у меня это сработало, когда я использовал на сервере запрос deleteMany к mongoDB:

 //DELETE ALL FROM DB request
app.delete("/hasp/deleteAll", function(req, res) {
    HaspInfo.deleteMany({}, function(err) {
        if (err) {
            res.status(500).send({error: "Could not clead database..."});           
        } else {
            res.status(200).send({message: "All hasp info was deleted succesfully..."});
        }
    });
});

И на клиенте React я изменил запрос на:

axios.delete("/hasp/deleteAll", {data: {}})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...