Обновить столбец коллекции (Javascript) в MongoDB с помощью массива

#javascript #arrays #ajax #mongodb

#javascript #массивы #ajax #mongodb

Вопрос:

При попытке обновить коллекцию MongoDB с использованием массива в качестве значения обновление завершается без сбоев.

Это не работает:

 var arr = ["test","test1","test2"];
$.ajax('http://my.mongodb.com/collection?id=80a2c727de877ac9' , {
      type: "PUT",
      contentType: "application/json",
      data: JSON.stringify({
        mykey: arr
      }),
      success: function() {
        // Do something
      }, 
      error: function(xhr) {
        console.log(xhr.responseText);
      }
    });
  

Это делает:

 $.ajax('http://my.mongodb.com/collection?id=80a2c727de877ac9' , {
      type: "PUT",
      contentType: "application/json",
      data: JSON.stringify({
        mykey: "test"
      }),
      success: function() {
        // Do something
      }, 
      error: function(xhr) {
        console.log(xhr.responseText);
      }
    });
  

Комментарии:

1. Проверьте, что возвращает запрос, чтобы перехватить эти ошибки.

2. @JonasWilms — Я получаю 200 ok

Ответ №1:

Оказывается, мне нужно упорядочить массив, прежде чем вводить его в данные ajax:

 var arr = ["test","test1","test2"];
arr = JSON.stringify(arr);
$.ajax('http://mordor.fmr.com:8030/techtest?id=80a2c727de877ac9' , {
      type: "PUT",
      contentType: "application/json",
      data: JSON.stringify({
        assignedTechs: arr
      }),
      success: function() {
        // Do something
      }, 
      error: function(xhr) {
        console.log(xhr.responseText);
      }
    });