2016-10-21 97 views
0

我有訂單。每個訂單都有項目。通過USER_ID獲取節點(查詢)

每個訂單和每個項目都由用戶分配。

下面是我的每個訂單的產品清單。

enter image description here

是否有可能獲得通過USER_1_ID?分配的所有節點的列表或者我必須改變我的結構?

在這種情況下

:返回節點號151

+1

用您的編程語言標記更新您的問題 – Dravidian

+0

對不起。我確信所有使用firebase查詢都是一樣的。我使用Angular 2 – Reni

回答

0

查詢您正在尋找過濾數據:

var root = firebase.database().ref(); 
var query = root.child("order_items").orderByChild("user").equalTo("USER_1_ID"); 
query.on("child_added", function(snapshot) { 
    console.log(snapshot.key); 
}); 

另外,如果你想獲得一次性的項目,你可以監聽value事件和迭代孩子在快照你到達那裏:

query.on("value", function(snapshot) { 
    snapshot.forEach(function(child) { 
    console.log(child.key); 
    }); 
}); 

我建議您閱讀了Firebase文檔,特別是section on filtering data

+0

我不確定你注意到了 - 在你的代碼中,你在第二個節點上使用'.orderByChild(「user」)',而'user'節點是第三級節點。您的代碼是否可以正常工作,並在每個訂單中返回項目的結果,或僅針對特定項目? – Reni

+0

對不起,這只是我,謝謝! – Reni