2016-05-30 2 views
-1

, поэтому давайте скажем, что у меня есть дома, и каждый дом имеет набор пользователей, имя дома и сообщения внутри Дома.Структурирование и запрос данных о погоде для базы данных

спасибо.

Моя попытка это:

{ 
"users": { 
    // 433 is a random id 
    "433": { 
    "name": "Janet", 
    // Index Janet's houses 
    "houses": { 
    "239WashingtonDr": true, 
    "451CornellSt": true 
    } 

}, 
... 
}, 
"houses": { 
    // 239WashingtonDr is a random id 
    "239WashingtonDr": { 
    "name": "Janet's house", 
    "members": { 
    "Janet": true, 
    "Peter": true, 
    "Kent": true 
    } 
}, 

} 
} 

Кроме того, кто-нибудь использует Swift, или Java. Как я могу спросить, в каких домах Дженет?

+0

Это кажется быть вопросом из двух частей. @FrankvanPuffelen ответил на вопрос, какова была первая часть вопроса? Это было расплывчато. Кроме того, эта структура Firebase может вызвать у вас проблемы; поскольку вы сохраняете пользователей с помощью uid, вы должны указать этот uid в разделе домов/членов. т.е. 433: истина. Причина в том, что если у вас три базы данных Janet в вашей базе данных, как вы узнаете, какая именно Джанет? – Jay

ответ

1

Что-то вроде этого следует сделать трюк:

let ref = FIRDatabase.database().reference() 
let janetRef = ref.child("users").child("433"); 
janetRef.child("houses").observeEventType(.Value, withBlock: { snapshot in 
    print(snapshot.key) 
}) 

Если вы не знаете идентификатор узла Джанет, вы можете посмотреть все пользователь с именем Джанет с:

let janets = ref.queryOrderedByChild("name").queryEqualToValue("janet") 
janets.observeEventType(.ChildAdded, withBlock: { snapshot in 
    print(snapshot.key) 
}) 
Смежные вопросы