• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - Firebase iOS SDK : How to get multiple Data in one query

[复制链接]
菜鸟教程小白 发表于 2022-12-13 15:09:38 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我见过 how to retrieve multiple data in one query firebase所以这可能是一个类似的问题,但我是 Firebase 的新手,我没有正确理解。

这是我的情况:

我有一个这样的 Firebase 数据库: Database structure

我想检索参与特定事件的用户。
编辑
我试过了,

Firebase* childrens = [server childByAppendingPath"Users"];
    Firebase* firebaseUser = [childrens childByAppendingPath:self.myuserid];
    Firebase* firebaseEvent = [firebaseUser childByAppendingPath"Events"];
    Firebase* fbuser= [firebaseEvent childByAppendingPath"Created"];
FQuery* query1 = [fbuser queryOrderedByChild"id"];
    handleFirebase = [query1 observeEventType:FEventTypeValue withBlock:^(FDataSnapshot *snapshot){
        NSEnumerator* childrens = snapshot.children;
        [childrens.allObjects enumerateObjectsUsingBlock:^(FDataSnapshot* rootSnap,NSUInteger rootIndex,BOOL* rootStop){
            NSDictionary* rootData = rootSnap.value;
            NSString* rootKey = rootSnap.key;
            NSLog(@"\nRootKey: %@\nRootData: %@",rootKey,rootData);
        }];


这里是 NSLog

2016-03-10 15:27:23.399 SquadApp[4425:110128] 
RootKey: olbuzevent1
RootData: {
    createdTime = "2016-03-08T11:53:33Z";
    name = "OLBUZ event 1";
    participents =     {
        "335e63c9-46c6-4ff8-99e7-1537d99731f7" =         {
            id = "335e63c9-46c6-4ff8-99e7-1537d99731f7";
            joinnedTime = 0;
        };
    };
}
2016-03-10 15:27:24.150 SquadApp[4425:110128] 
RootKey: olbuzevent2
RootData: {
    createdTime = "2016-03-08T12:23:28Z";
    name = "OLBUZ event 2";
    participents =     {
        "335e63c9-46c6-4ff8-99e7-1537d99731f7" =         {
            id = "335e63c9-46c6-4ff8-99e7-1537d99731f7";
            joinnedTime = 0;
        };
    };
}



Best Answer-推荐答案


在 NoSQL 数据库中,您通常必须按照您希望在应用程序中使用数据的方式对数据进行建模。您当前的结构非常适合显示用户组织/参与的事件列表。如果这是您的用例之一,那就太好了。

但是,如果您还有一个用例来显示参与事件的所有用户,您可能必须添加一个数据结构来跟踪它。

event_users
  eventid1
    uid1: 'participant'
    uid2: 'organizer'
    uid3: 'participant'

这个过程被称为非规范化,在我们的一个(相当老的)blog posts 中进行了介绍。在 documentation on structuring data .在最后一页中,您可能还应该阅读 recommendation on nesting .

关于ios - Firebase iOS SDK : How to get multiple Data in one query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35912819/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap