Прошло некоторое время с тех пор, как я услышал о Firebase, и я решил начать небольшой проект на прошлой неделе.Firebase - От одного до многих отношений и запросов
Я прочитал много статей о структуре базы данных, и я придумал два решения для моей базы данных:
Case 1
Таблица B имеет ссылки, через OwnerId, к записям в таблице
{
"A" : {
"user-id-1" : {
"name": "James",
"number": "11111"
},
"user-id-2" : {
"name": "Rob",
"number": "11111"
},
...
},
"B" : {
"id-b-1" : {
"something": "value1",
"ownerId" : {
"user-id-1": true
}
},
"id-b-2" : {
"something": "value2",
"ownerId" : {
"user-id-2": true
}
},
"id-b-3" : {
"something": "value3",
"ownerId" : {
"user-id-2": true
}
},
"id-b-4" : {
"something": "value4",
"ownerId" : {
"user-id-1": true
}
},
...
}
}
Случай 2
Таблица имеет ссылки, через массив Б.С., записям в таблице B
{
"A" : {
"user-id-1" : {
"name": "James",
"number": "11111"
"Bs": {
"id-b-1": true,
"id-b-4": true,
"id-b-7": true,
}
},
"user-id-2" : {
"name": "Rob",
"number": "11111"
"Bs": {
"id-b-2": true,
"id-b-3": true,
"id-b-6": true,
}
},
...
},
"B" : {
"id-b-1" : {
"something": "value1",
},
"id-b-2" : {
"something": "value2",
},
"id-b-3" : {
"something": "value3",
},
"id-b-4" : {
"something": "value4",
},
...
}
}
в Таблице идентификаторы записей являются то же, что и идентификаторы, предоставленные зарегистрированному пользователю, user-id-1, так как я не могу добавить дополнительные свойства к объекту пользователя, предоставленному firebase.
Я хотел бы сказать, что записи, связанные между A и B, могут вырасти до тысяч записей.
Так существует связь один-ко-многим между и B.
Скажем, я хочу, чтобы получить все Bs связанные с идентификатор пользователя-1:
- Какая структура базы данных лучше в этом Порядок размещения, по вашему опыту?
- Как получить все объекты Bs, выполнив только один запрос в базе данных?
- Могу ли я использовать свой род где положение, которое позволяет мне отфильтровать Bs, глядя на значении по OwnerId?
Заранее благодарю вас за ответы.