[英]Firebase database diagram
我正在嘗試做一個示例應用程序,其中有一些用戶,然后我有另一個名為產品的表,每個產品都分配給一個用戶我正在創建此圖,但我不確定它是否正確
Users
|
|--------user1_id
| |
| |--name : "user1"
|
|
|
|---------user2_id
|
|--name : "user2"
然后我有產品
Products
|--------product1_id
| |
| |--image: "any_value"
| --name: "any_value"
|
|
|---------product2_id
|
|--image: "any_value"
|--name: "any_value"
問題是我不確定如何將該產品分配給用戶,問題是我想先創建 firebase(如果可能的話手動創建)然后再創建應用程序,因為我記得很久以前我有通過代碼創建產品和用戶。
所以問題是,我是否需要另一個有 productid + userid 的表?
有 4 個用戶 -Bob -Annie -Perl -Kuy
有 4 個產品 -Prod1 -Prod2 -Prod3 -Prod4
Prod1 來自 Bob,Prod2 來自 Annie,Prod3 來自 Perl,Prod4 來自 Kuy。
如果您需要將產品分配給用戶,則只需將用戶的 UID 添加為產品 object 中的一個字段。因此您的架構應如下所示:
db-root
|
--- users
| |
| --- user1_id
| |
| --- name: "user1"
|
--- products
|
--- product1_id
|
--- image: "any_value"
|
--- name: "any_value"
|
--- uid: "user1_id" //👈
現在要獲取與 user1 對應的產品,您必須執行如下查詢:
val db = Firebase.database.reference
val productsRef = db.child("products")
val queryByUid = productsRef.orderByChild("uid").equalTo("user1_id")
queryByUid.get().addOnCompleteListener {
if (it.isSuccessful) {
val snapshot = it.result
for (productSnapshot in snapshot.children) {
val productName = productSnapshot.child("name").getValue(String::class.java)
Log.d("TAG", productName)
}
} else {
Log.d("TAG", error.getMessage())
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.