[英]firebase realtime database .orderByChild not returning correct order
[英]Query orderByChild in Firebase Realtime Database not working?
我已经看到了许多正是我需要的帖子和解决方案,但是当我实施它时它不起作用。 我正在使用 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();
提前谢谢大家!
您想从users
节点加载数据,但目前在您的代码中的任何地方都没有提及。 所以 Firebase 正在查询数据库的根目录,并且那里的子节点(如users
)没有Name
属性,所以你没有得到任何结果。
const usersRef = db2.ref().child("users");
或者:
const usersRef = db2.ref("users");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.