您好,有一种方法可以从实时数据库中提取一个值,在寻求该值后,它会提取与该搜索相关的所有数据,例如
我正在使用这种方法提取整个子数据。
const query = dataFirebase.ref("Item").orderByKey();
query.once("value")
.then(function(snapshot) {
snapshot.forEach(function(childSnapshot) {
const keyValue = childSnapshot.key;
const fullData = childSnapshot.val();
console.log(fullData)
});
});
Item
的数据看起来像
{
Item: {
IDNumber1: {
productDepartment: Cullinary,
productStore: JCPenny
}
IDNumber2: {
productDepartment: Cullinary,
productStore: Macys
}
IDNumber3: {
productDepartment: Home,
productStore: JCPenny
}
IDNumber4: {
productDepartment: Ties,
productStore: JCPenny
}
IDNumber5: {
productDepartment: Cullinary,
productStore: Macys
}
IDNumber6: {
productDepartment: Cullinary,
productStore: Dillards
}
IDNumber7: {
productDepartment: Ties,
productStore: JCPenny
}
}
}
ID号只是一个唯一的标识符。
我正在尝试使用一个搜索栏来查找productDepartment的值,例如“ Culinary”,然后使所有适合该数据的组件都显示出来,例如productStore也会显示出来,以便我可以更具体地从中获取信息。
因此,如果我要搜索Cullinary,则会显示IDNumber 1 2 5和6。
谢谢
答案 0 :(得分:1)
您要寻找的是orderByChild()
和equalTo()
:
const query = dataFirebase.ref("Item").orderByChild("productDepartment").equalTo("Culinary");
query.once("value")...
其余代码将保持不变。
有关此的更多信息,请参见Firebase documentation on querying the Realtime Database。