这是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"
}
}
我可以用产品本身存储品牌信息,但在这种情况下:
firebase实现上述结果的最佳方法是什么?保持代码重复尽可能少?
答案 0 :(得分:1)
如果您想要获得单独的品牌列表并使其高效,那么您必须像第一个示例那样执行此操作并获取brand
的信息,即brand1
您可以调用Query
1}}方法到Brands-node
并查询所需的brand1
节点。
即
Query query=mFirebaseRefBrands.orderByKey().equalTo("brand1").addSingleValueEventLIstener(new ValueEventListener) {...}