2016-06-26 1 views
0

Моя база данных в Firebase в настоящее время выглядит следующим образом:Как гнездятся данные в базе данных Firebase в реальном времени (Swift)

locations: { 
    person: "" 
    location: "" 
} 

Как я гнездятся данные так, что это выглядит примерно так:

locations: { 
    person: "" { 
     location: "" 
} 
} 

Структура, в которой местоположения являются родителями, лицо - это ребенок, а местоположение - это ребенок человека.

Я знаю отношения, я просто не уверен в синтаксисе.

Вот код, который я в настоящее время, написанном в Swift:

let locRef = locationRef.childByAutoId() 
let locItem = [ 
    "location": getLocation(), 
    "person": senderId 
] 

locRef.setValue(locItem) 

Спасибо.

+0

Большой вопрос, почему вы хотите структурировать данные таким образом. Как правило, у вас будут местоположения/loc_id_01 и местоположения/loc_id_02 и т. Д., А затем в каждом месте есть информация об этом местоположении. В этом случае может быть возможность денормализовать ваши данные, чтобы обеспечить более плоскую структуру. Возможно, нет? – Jay

+0

Я чувствую, что создание данных таким образом облегчило бы получение этих данных –

ответ

2
let locRef = locationRef.childByAutoId() 
let locItem = [ 
    senderId : [ 
     "location": getLocationID() 
    ] 
] 

SenderID будет ключом для человека, так что вы можете найти человека по его идентификатору ... И ID держит вложенную расположение клавиш

ли вам нужна только логика? Или вам нужен пример рабочего кода?

+0

Спасибо! Делает большой смысл –

+0

Хорошо ... Если у вас есть дополнительные вопросы, просто напишите мне последующий вопрос –

+0

Это сработало! Теперь, как я могу получить только местоположение идентификатора senderID из Firebase? –

Смежные вопросы