Задать вопрос
jeerjmin
@jeerjmin

Как передать несколько массивов значений через axios.put в mongoose?

Здравствуйте. Разбираюсь в mongo-express-react-node. Прошу помочь.

У меня есть приложение по добавлению карточек и записей к каждой карточке.
Вот как это выглядит.
5b27a5cf89ba2894052394.png

Карточки и записи хранятся в разных массивах, cards и entries соответственно.
5b27a5e48e328695272300.png

Сейчас только массив cards сохраняется в бд и загружается из нее в state.

Выглядит это так

Actions

export const add = (cards) => {

  if (cards.length > 0) {
    return () => {
      axios.post(API_URL, {cards})
    }
  }

  else {
      cards = "empty"
      return () => {
          axios.post(API_URL, {cards})
      }
  }

};

export const searchDB = () => {
  return (dispatch) => {

    axios.get(`${API_URL}`)
      .then((res) =>
      {
        if (res.data[res.data.length - 1].cards == "empty") {

          dispatch({type: 'TODO_SEARCHED', payload: [] })
        }

        else {
            dispatch({type: 'TODO_SEARCHED', payload: res.data[res.data.length - 1].cards})
        }

      }
  );

  };
};


todo.schema
const todoSchema = new mongoose.Schema({
    cards: {type: Array, required: true},
    createdAt: {type: Date, default: Date.now}
});


Как передавать также массив entries ? Не разобрался с параметрами axios.post()
  • Вопрос задан
  • 434 просмотра
Подписаться 1 Средний Комментировать
Решения вопроса 1
rockon404
@rockon404 Куратор тега React
Frontend Developer
Не надо копить, а затем отправлять все данные сразу. Коллекциями их принято только забирать с сервера.
1. Каждое добавление карточки это POST запрос на добавление одной карточки.
2. Каждое добавление записи это POST запрос на добавление записи.
3. Каждое обновление записи или карточки это PUT/PATCH запрос с обновленными данными одной записи/карточки.
4. При удалении карточки, если записи лежат отдельно, на стороне сервера надо их так же удалить.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы