Я пытаюсь выяснить, как фильтровать продукты на основе их дочерних узлов в Firebase.
Моя настройка выглядит следующим образом:
products/
product1
/author: 12345
/title: "Awesome"
/description: "more awesome"
product2
/author: 67890
/title: "Awesome"
/description: "more awesome"
Как я могу запросить Firebase так, чтобы я извлекал только те продукты, для которых он имеет значение child($productId).child(author)
equals 12345
?
Я пробовал следующее, но это явно не работает. Мне нужен способ фильтрации на подхдире:
var ref = new Firebase(FBURL);
// Attach an asynchronous callback to read the data at our posts reference
ref.child("products").child('$productId').child('author').equalTo(12345).on("value", function(snapshot) {
console.log(snapshot.val());
}, function (errorObject) {
console.log("The read failed: " + errorObject.code);
});
Просто используйте orderByChild()
:
ref.child("products").orderByChild('author').equalTo(12345)...
Это будет упорядочивать каждый дочерний элемент node под products
по свойству author
, а затем возвращать только те, которые имеют значение 12345
.