gpt4 book ai didi

javascript - 仅下载具有子 key 的 Firebase 快照

转载 作者:行者123 更新时间:2023-11-28 03:44:30 25 4
gpt4 key购买 nike

我的数据结构如下所示(删除了不必要的部分):

{
"threads" : {
"PUSHID" : {
"info" : {
"members" : {
"uid" : true,
"uid2" : true
}
}
}
}
}

我正在尝试编写一些 javascript 来提取用户所在线程的快照,但我无法找到一种方法让它在不提取每个线程快照的情况下工作。这是我现在提取每个线程快照的代码。

firebase.database().ref('threads').on('child_added', function(snapshot) {
if (snapshot.hasChild('info/members/' + userUid)) {
// Display thread info
}
});

我尝试使用 .orderByChild('info/members/' + userUid) 进行查询并删除空快照,但我必须添加 .indexOn对于每个 userUid 这显然是不切实际的。

最佳答案

您当前的结构可以轻松/高效地查找用户的线程。但您的用例是查找用户的线程。您需要增强数据模型以允许以下用例:

{
"user_threads" : {
"uid": {
"PUSHID": true,
"PUSHID2": true
},
"uid2": {
"PUSHID": true,
"PUSHID3": true
}
}
}

然后阅读它:

firebase.database().ref('user_threads/'+userUid).on('child_added', function(snapshot) {
...
});

使用 NoSQL 数据库时,修改/扩展数据模型以匹配应用程序的用例是很常见的。

关于javascript - 仅下载具有子 key 的 Firebase 快照,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48634269/

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