【发布时间】:2021-06-22 20:00:16
【问题描述】:
我看到很多帖子和解决方案正是我所需要的,但是当我实施它时它不起作用。我正在使用 Firebase 实时数据库,并且正在尝试在所有“名称”子项中搜索特定名称。在此示例中,我直接添加了字符串,但将来我将使用基于用户输入的变量。这是我在 firebase 中看到的数据库结构:
{
"kjienk24dfwefn" : {
"FriendID" : "fr1959l9591i4925a",
"Name" : "Test Dummy2",
"email": "something@gmail.com",
"Status" : "InGame"
},
"kjienk24kdfiwne" : {
"FriendID" : "fr2812p8092m3604l",
"Name" : "Test Dummy",
"email":"some@something.com"
"Status" : "Online"
},
"kjienk24udfjjo" : {
"FriendID" : "fr7605h9204f8099g",
"Name" : "Test Dummy3",
"email": "fake@fakeemail.com"
"Status" : "Offline"
}
}
这是我用来查询“名称”的代码(usersRef 指向“firebase.database().ref()”)。我在网上看到了很多这样的例子,但我不确定我做错了什么。
usersRef.orderByChild("Name").equalTo("Test Dummy").on("value", function(snapshot) {
//This is where I expect to see Test Dummy on the console.
console.log(snapshot.val())
});
编辑:这是 usersRef 的初始化。读取和写入数据库没有任何问题。标准 firebaseConfig。:
const fbApp = firebase.initializeApp(firebaseConfig);
const db2 = fbApp.database("https://firebasedatabaseurl.com/")
const usersRef = db2.ref();
提前谢谢大家!
【问题讨论】:
-
我在下面发布了一个答案,但事后看来,我不确定这是否是您正在努力解决的问题。 1)你能用数据库中的实际JSON替换你拥有的数据结构吗(作为文本,请不要截图)?您可以通过单击Firebase Database console 上溢出菜单 (⠇) 中的“导出 JSON”链接来获取此信息。 2)如果我们能在问题中看到
usersRef是如何初始化的,那也很好。 -
嗨弗兰克,我添加了出口信息。更改了信息,但这是我导出时得到的确切结构。 “kjie...”是用户 ID。
-
嗯,乍一看还不错。你能不能也展示一下你是如何初始化
usersRef的? -
我看到在我看过的所有示例中,您在 ref("argument") 中添加了一个参数。但是因为我引用了我的主数据库节点,所以我把它留空了。我要不要再添加数据库的名称?
标签: javascript json firebase search firebase-realtime-database