2016-11-12 5 views
0

Firebase에서 여러 노드를 쉼표로 구분하여 검색 할 수 있습니까?Firebase : 여러 노드 검색

예를 들어, 사용하여 사용자의 nameimage 속성을 가져올 :

/users/$USER_ID/name,image

을 대신 당신은 클래스를 사용하여 노드를 검색 할 수있는 모든 사용자 정보

+1

2 네트워크 호출을 사용하려는 경우 하위 노드를 각 노드에 직접 연결할 수 있습니다. – Linxy

답변

1

Firebase SDK는 항상 데이터베이스에서 전체 노드를 검색합니다. 노드의 서브 세트를 선택할 수있는 방법은 없습니다.

당신은 당신이 노드의 하위 집합을 원하는 모든 노드를 다운로드하는 것은 지나치게 낭비 될 것이라고, 당신은 각 사용자에 대해 원하는 속성을 유지 추가로 수집해야하는 데이터를 모델링해야 찾을 경우

user 
    uid1 
    name: "TheUnreal" 
    image: "https://graph.facebook.com/1214076718653094/picture?type=large" 
    stackid: 3669981 
    lastquestionid: 40565750 
    uid2 
    name: "Frank van Puffelen" 
    image: "https://www.gravatar.com/avatar/12d378e6a9788ab9c94bbafe242b82b4?s=48&d=identicon&r=PG" 
    stackid: 209103 
    lastquestionid: 39984247 
users_names_images 
    uid1 
    name: "TheUnreal" 
    image: "https://graph.facebook.com/1214076718653094/picture?type=large" 
    uid2 
    name: "Frank van Puffelen" 
    image: "https://www.gravatar.com/avatar/12d378e6a9788ab9c94bbafe242b82b4?s=48&d=identicon&r=PG" 

이 데이터 구조를 사용하면 해당 최상위 노드를 쿼리하여 데이터의 하위 집합 또는 전체 데이터를 가져올 지 여부를 선택할 수 있습니다. 이런 데이터를 복제하는 것은 NoSQL 데이터베이스에서 매우 일반적입니다. NoSQL 데이터베이스는 앱이 데이터를 소비하는 방식에 대한 데이터를 자주 모델링합니다.

+0

그게 내가 생각한 유일한 방법이지만, 단점은 사용자가 이미지 나 이름을 업데이트 할 때마다 그 두 노드를 업데이트하는 것입니다. 원하는 노드를 선택할 수 있다면 추가 노드가 필요 없습니다. Firebase에 기능 요청을 보내는 것에 대해 생각해 봤지만 데이터베이스 구조를 다르게 구축하는 것이 좋습니다. – TheUnreal

+0

* 공개 : Firebase *에서 작업합니다. [기능 요청] (https://firebase.google.com)/support/contact/bugs-features /). 그러나 우리가 어떤 시점에서 그것을 구현하기로 결정하더라도, 그것은 당신을 오늘 도와주지 않을 것입니다. 파이어베이스와 같은 NoSQL 데이터베이스에서 데이터를 복제하는 것은 완전히 정상이며 확장 성이 뛰어난 이유 중 하나입니다. –

0

을 다운로드하는. 나는 그것을 좋아한다. 반환 된 값을 조작하여 사용할 수있는 방식으로 만들지 않는 이유는 무엇입니까?