Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 按Swift中一个键的多个值筛选Firebase结果_Ios_Objective C_Xcode_Swift_Firebase - Fatal编程技术网

Ios 按Swift中一个键的多个值筛选Firebase结果

Ios 按Swift中一个键的多个值筛选Firebase结果,ios,objective-c,xcode,swift,firebase,Ios,Objective C,Xcode,Swift,Firebase,我正在用Firebase和Swift构建社交网络应用程序。我有一个用户谁有一些以下的其他用户。我想为这个用户解析一个提要,它只包含他下面列表中的帖子。我的数据库如下所示: "posts": { "postA": { "title": "Title for post A" "byUser": "userABC" } } "postB": { "title": "Titl

我正在用Firebase和Swift构建社交网络应用程序。我有一个用户谁有一些以下的其他用户。我想为这个用户解析一个提要,它只包含他下面列表中的帖子。我的数据库如下所示:

    "posts": {
       "postA": {
          "title": "Title for post A"
          "byUser": "userABC"
          }
       }
       "postB": {
          "title": "Title for post B"
          "byUser": "userCBA"
          }
       }
       "postC": {
          "title": "Title for post C"
          "byUser": "userBCA"
          }
       }
       "postD": {
          "title": "Title for post D"
          "byUser": "userBCD"
          }
       }
   }
   "users": {
      "userABC": {
         "name": "John"
         "following": {
            "userCBA": "true"
            "userBCA": "true"
         }
      }
      "userCBA": {...}
      "userBCA": {...}
      "userBCD": {...}
   }
因此,我们的想法是为
userABC
的以下列表(
postB
&
postC
)显示过滤后的帖子。我应该提出什么Firebase请求

附言:我唯一的想法是向每个用户发出几个firebase请求,让他们下载帖子,然后将这些帖子附加到一个数组中,然后按时间戳排序数组对象。但是想象一下,有成千上万的追随者,每个人都有上千篇帖子。。这将是一场灾难

p.p.S.:我无法根据Firebase“安全和规则”调整结果,因为我想显示搜索中所有用户的所有帖子


非常感谢

在NoSQL中,您通常根据应用程序希望使用的方式对数据进行建模。由于您希望向用户显示他们关注的人的帖子的提要/墙,请在数据库中对其进行建模:

"user_walls": {
  "userABC": {
     "KeyOfPost1FromUserCDA": true
     "KeyOfPost2FromUserBCA": true
     "KeyOfPost3FromUserCDA": true
  },
  "userBCA": {
     "KeyOfPost1FromUserCDA": true
     "KeyOfPost3FromUserCDA": true
     "KeyOfPost4FromUserABC": true
  },
  etc
}
这里我们只存储帖子的键,但您也可以存储更多信息,而不仅仅是
true
。这是一个称为非规范化的过程

对于这一点以及更相关的建议,我建议如下

有关以这种方式对其数据建模的优秀示例应用程序,请参阅FireFeed: