2016-10-21 1 views
0

У меня есть заказы. В каждом заказе есть предметы.Получить узлы USER_ID (query)

Каждый заказ и каждый элемент назначаются пользователем.

Ниже приведен мой список элементов каждого заказа:

enter image description here

Можно ли получить список всех узлов, назначенных USER_1_ID? Или я должен изменить свою структуру?

в этом случае: запрос, который возвращает номера узлов 15 и 1

+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 »)' на втором узле, а узел с «пользователем» - это третий уровень. Будет ли ваш код работать и возвращать результат элементов в каждом порядке или только для определенного? – Reni

+0

Извините, это был только я, спасибо! – Reni