2015-09-22 4 views
0

Я разрабатываю приложение стека MEAN, которое по существу обеспечивает интерфейс, который упрощает навигацию по моей базе данных. Я довольно новичок в выражении/Node.js/AngularJS, но я ищу способ удалить несколько элементов из моего MongoDB с помощью одного запроса AngularJS $ http на мой сервер express/Node.js.УДАЛИТЬ несколько документов из mongoDB с одним запросом AngularJS

Следующие действия предназначены для удаления одного элемента из моей базы данных, но то, что я хочу сделать, это передать массив объектов для удаления из моей базы данных, поэтому мне не нужно делать несколько запросов и ускорять процесс. Есть ли способ сделать это?

$http.delete('./api/db/'+opp_id) 
    .success(function(data){ 
     $scope.items = data; 
     }) 
     .error(function(data){ 
     console.log("ERROR: " + data); 
     }); 
+0

Вы должны отправить несколько параметров GET и удалять их с помощью MongoDB удалить метод –

ответ

2

Это должно работать, если вы также адаптировать свой API для обработки массивов

var idArray = [1,2,3,4,5,6]; 

$scope.delete = function(idArray) { 
     $http({ url: 'domain/resource', 
       method: 'DELETE', 
       data: {ids: idArray}, 
       headers: {"Content-Type": "application/json;charset=utf-8"} 
     }).then(function(res) { 
      console.log(res.data); 
     }, function(error) { 
      console.log(error); 
     }); 
    }; 

Но вы должны знать, что некоторые серверы приложений не позволяют тело для HTTP DELETE;

Источник: Is an entity body allowed for an HTTP DELETE request?

Вы также можете передать массив идентификаторов как разделенный запятыми список в параметры запроса.

Таким образом, вы должны попробовать этот подход:

var idArray = [1,2,3,4,5,6]; 

    $http(
     method: 'DELETE', 
     url: '/items', 
     params: { 
     id: JSON.stringify(idArray) 
     } 
    ) 
+0

спасибо, это именно то, что я искал – awade1075

Смежные вопросы