Как я могу преобразовать эту базу данных Firebase в базу данных SQL? - PullRequest
0 голосов
/ 23 апреля 2020

Я использую Firebase для своего проекта. База данных Firebase выглядит так:

{
  myObjects:{
    1:{
         index: '1',
         body: 'foo1'
    },
    2:{
         index: '1',
         body: 'foo2'
    },
    3:{
         index: '2',
         body: 'foo3' 
    },
  },

  objectIndex: 1
}

Как и выше, у меня есть myObjects объект и objectIndex переменная. Я извлекал myObjects, который index совпадает с переменной objectIndex. objectIndex переменная увеличивается каждые 3 дня, а когда она достигает 50, она превращается в 0. Таким образом, это динамическая c, и я не могу сохранить ее в таблице.

Теперь я хочу преобразовать свою базу данных Firebase MySQL.

MySQL будет выглядеть так:

|----|------|-------|
| id | body | index |
|----|------|-------|
| 1  | foo1 |   1   |
|----|------|-------|
| 2  | foo2 |   1   |
|----|------|-------|
| 3  | foo3 |   2   |
|----|------|-------|

Где я могу хранить переменную objectIndex? Я могу обновить структуру таблицы согласно вашим предложениям.

Заранее спасибо.

1 Ответ

2 голосов
/ 23 апреля 2020

У вас может быть таблица «objectIndex» из 1 строки и 1 столбца, в которой значение может быть обновлено с помощью SQL Cron-Job.

Затем вы можете построить запрос с декартовым произведением, который возвращает ваши данные следующим образом:

|----|------|-------|-------------|
| id | body | index | objectIndex |
|----|------|-------|-------------|
| 1  | foo1 |   1   |     25      |
|----|------|-------|-------------|
| 2  | foo2 |   1   |     25      |
|----|------|-------|-------------|
| 3  | foo3 |   2   |     25      |
|----|------|-------|-------------|

Это избыточно, но выполняет свою работу. Код для извлечения этих значений можно записать следующим образом:

SELECT id, body, index, objectIndex
FROM objectTable, objectIndexTable
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...