2016-08-06 104 views
-1

這是firebase數據結構。如何從firebase中獲取數據

{ 
    products: { 
    product1: { 
     id : 1, 
     name: "p1", 
     brand: "brand1" 
    }, 
    product2: { 
     id : 2, 
     name: "p2", 
     brand: "brand1" 
    }, 
    product3: { 
     id : 3, 
     name: "p3" 
     brand: "brand2" 
    } 
    }, 
    brands: { 
    brand1: { 
     id: 1, 
     name: "b1" 
    }, 
    brand2: { 
     id: 2, 
     name: "b2" 
    } 
    } 
} 

時,我打下面的網址,https://awesome.firebaseio-demo.com/products.json,我得到這個數據

products: { 
    product1: { 
    id : 1, 
    name: "p1", 
    brand: "brand1" 
    }, 
    product2: { 
    id : 2, 
    name: "p2", 
    brand: "brand1" 
    }, 
    product3: { 
    id : 3, 
    name: "p3" 
    brand: "brand2" 
    } 
} 

但我想

products: { 
    product1: { 
    id : 1, 
    name: "p1", 
    bid: 1, 
    bname: "b1" 
    }, 
    product2: { 
    id : 2, 
    name: "p2", 
    bid: 1, 
    bname: "b1" 

    }, 
    product3: { 
    id : 3, 
    name: "p3" 
    bid: 2, 
    bname: "b2" 
    } 
} 

我可以存儲與產品本身的品牌信息,但是在這種情況下, :

  1. 如果我需要更改b蘭德名稱b1到b100,我需要在多個地方進行更改(例如2個地方)。
  2. 我無法獲得品牌列表。

什麼是firebase中獲得上述結果的最佳方式,以使產品保持代碼重複儘可能最小?

+0

加入數據之前已經覆蓋了很多次。你有什麼嘗試?你使用什麼技術? –

回答

1

如果妳想要實現一個獨立的品牌清單,並使其有效然後u必須做到像你的第一個例子,並獲得brand1可以調用Query方法Brands-node和查詢所需的brand即信息brand1節點。

Query query=mFirebaseRefBrands.orderByKey().equalTo("brand1").addSingleValueEventLIstener(new ValueEventListener) {...} 
相關問題