gpt4 book ai didi

Firebase orderByChild 查询不返回有序结果

转载 作者:行者123 更新时间:2023-12-04 18:28:01 26 4
gpt4 key购买 nike

我正在尝试根据 documentation example 使用 Firebase orderByChild() 函数,但查询未返回过滤或排序。

这是示例数据结构:

"notifications": { 
"001": {
"member_id": "abc123",
"created_at": 1424357680681,
"new": true,
"first_name": "Jon",
"last_name": "Snow",
"message": "likes your photo"
},
"002": {
"member_id": "abc456",
"created_at": 1424357680681,
"new": true,
"first_name": "Clark",
"last_name": "Kent",
"message": "likes your comment"
}
}

当用户登录时,我想查询通知哈希,只查询具有与当前用户 ID 匹配的 member_id 的通知。

我已经尝试了带有和不带有“child_added”的两个版本。

选项 A:

  ref.orderByChild("member_id").equalTo(memberId);

选项 B:

  ref.orderByChild("member_id").equalTo(memberId)
.on("child_added", function(data) {
console.log("new child id = " + data.key());
});

当我查询通知散列时,查询返回所有通知的数组。它们既不限于当前用户的member_id,也不按member_id排序。 (我可以完全删除 member_id 键,通知仍会返回)。

我始终可以在应用程序内通过 member_id 过滤返回的数组,但我真的希望按照文档进行查询。

感谢任何帮助!

最佳答案

我找到问题了!我的印象是您可以在适当的位置添加查询修饰符。

我在做:

  ref.orderByChild("member_id").equalTo(memberId);
var sync = $firebase(ref);

实际上应该是:

  var sync = $firebase(ref.orderByChild("member_id").equalTo(memberId));

关于Firebase orderByChild 查询不返回有序结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29199010/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com