Сохранение элементов списка задач в бэкэнде - PullRequest
0 голосов
/ 01 июня 2018

Мне сложно придумать лучший способ хранения элементов списка задач в бэкэнде.Мне сказали, что хранение массива и объекта в бэкэнде не было хорошей идеей.Я пытаюсь клонировать вдохновленное веб-приложение Google.

Некоторый контекст: как только пользователь отправит свой список задач, он сделает аксиозный вызов к бэкэнду, который будет перебирать массив элементов списка задач и сохранять их по отдельности в бэкэнд.

Что вдохновило меня на эту настройку.

CREATE TABLE TODO (
ID SERIAL PRIMARY KEY,
title VARCHAR,
user_id INTEGER REFERENCES users(ID));



CREATE TABLE TODO_ITEM (
ID SERIAL PRIMARY KEY,
item VARCHAR,
complete BOOLEAN,
todo_list_id INTEGER REFERENCES TODO(id)); 

Мой внешний вызов к внутреннему интерфейсу выглядит следующим образом:

 toDoArray.map(ele => { 
            axios.post('users/postToDoListItems', {
                item: ele, 
                complete: false,
                todo_list_id: ?

            })
        })
        axios.post('users/postToDoList', {
            title: title,
            toDoList: toDoList
        })
    }

Таблица TODO_ITEM, на которую я хотел бы сослаться на свою таблицу TODO, чтобы при вызове к внешнему интерфейсу и группировке справильная таблица.С моей текущей настройкой возможно ли передать опорный идентификатор (TODO) в таблицу TODO_ITEM?

1 Ответ

0 голосов
/ 01 июня 2018

итак, я думаю, что вы допустили несколько небольших ошибок, я не знаю, как вы выполняете запросы на своем бэк-энде, но вы должны заметить, что перед тем, как сделать ваши столы, вы должны сделать connection для вашего db, так что я думаю, что он не вернулсячтобы проверить это или если вы сделали это до того, как plz завершит заполнение вашей информации о вашей проблеме, но правильная вещь для выполнения запросов:

var mysql      = require('mysql');
var connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'me',
  password : 'secret',
  database : 'my_db'
});

connection.connect();

connection.query('SELECT 1 + 1 AS solution', function (error, results, fields) {
  if (error) throw error;
  console.log('The solution is: ', results[0].solution);
});

connection.end();

и для запроса из внешнего интерфейса.следует сделать это:

<< fron-end >>

 axios.post('users/postToDoListItems', {
                item: ele, 
                complete: false,
                todo_list_id: 1

            })

<< back-end >>

route : postToDoListItems

connection.query(`SET complete = ${req.body.complete} FROM todo WHERE id =${req.body.id}`, function (error, results, fields) {
      if (error) throw error;
      res.json({results,fields})
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...