react-native - 在 React Native 中从 Fire 库中读取特定值
问题描述
尝试执行类似 SELECT 的查询来检索数据,但使用 Firebase 和 React Native。
我的 Firebase 数据库中有以下结构:
{
"items" : {
"1234" : {
"value1" : 420,
"value2" : 69,
"ProductID" : 1234
},
"5678" : {
"value1" : 250,
"value2" : 12,
"ProductID" : 5678
},
"91011" : {
"value1" : 9001,
"value2" : 5,
"ProductID" : 91011
}
}
}
我正在使用以下代码尝试检索特定的产品 ID
firebaseDB.ref("/items/")
.orderByChild("ProductID")
.equalTo(data)
.once("value", snapshot => {
if (snapshot.exists()){
const userData = snapshot.val();
console.log("INFO ::: Exists!", userData);
}
else {
console.log("INFO ::: No match!!!");
}
现在我的问题是我似乎无法选择数据。我认为这是我的查询的问题,因为我传递了 ID 1234 并且找不到此产品 ID。
.equalTo(data) <---- is how I'm passing the product id
这是我的日志中打印的内容:
[11:43:19] [FIREBASE] p:0: Listen called for /items{"ep":"1234","i":"ProductID","sp":"1234"}
[11:43:19] [FIREBASE] p:0: Listen on /itemsfor {"ep":"1234","i":"ProductID","sp":"1234"}
[11:43:19] [FIREBASE] p:0: {"r":2,"a":"q","b":{"p":"/items","q":{"sp":"1234","ep":"1234","i":"ProductID"},"t":1,"h":""}}
[11:43:19] [FIREBASE] p:0: handleServerMessage d {"p":"items","d":{"1234":{"value1":420,"value2":69,"ProductID":1234},"5678":{"value1":250,"value2":12,"ProductID":5678},"91011":{"value1":9001,"value2":5,"ProductID":91011}}}
[11:43:19] [FIREBASE] event: /items:value:null
[11:43:19] [FIREBASE] p:0: Unlisten called for /items {"ep":"1234","i":"ProductID","sp":"1234"}
[11:43:19] [FIREBASE] p:0: Unlisten on /items for {"ep":"1234","i":"ProductID","sp":"1234"}
也许我应该尝试修改调用 .once 时传递的“值”,但我不确定....有什么想法吗?
谢谢
已解决的问题:
Mohammed 给出了一个很好的解决方案,它确实允许检索数据。我还忽略了我正在使用字符串来查询我的数据,而我正在寻找的数据是一个数字。
解决方案
你可以试试这个
const data = 1234;
firebase
.database()
.ref()
.child('items')
.orderByChild('ProductID')
.equalTo(data)
.once('value')
.then(snapShot => {
let matchingProducts = [];
snapShot.forEach(child => {
matchingProducts = [child.val(), ...matchingProducts];
});
console.log("matchingProducts",matchingProducts);
return matchingProducts;
});
推荐阅读
- c++ - QMenu 第一次没有在正确的位置执行
- hive - 与作为字符串的数组查找字段类型不同的值?
- wordpress - 随机产品未显示我包含在 posts_per_page 中的帖子数量
- excel - 将文件从文件路径复制到另一个
- javascript - 需要在页面加载时自动单击 Javascript URL
- sdk - Admin Directory API/Admin SDK - 重命名 Google 用户
- php - 使用 PHP 在 HTML 表格中显示数组中的数据
- python - 获取 Python Turtle 以返回鼠标点击的坐标
- fortran - 声明返回列表的 Fortran 函数时遇到问题
- python - 在 CMD 中循环一个函数