Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.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 Firebase数据库更新所有帖子的用户配置文件图片URL_Ios_Swift_Firebase_Filter_Firebase Realtime Database - Fatal编程技术网

Ios Firebase数据库更新所有帖子的用户配置文件图片URL

Ios Firebase数据库更新所有帖子的用户配置文件图片URL,ios,swift,firebase,filter,firebase-realtime-database,Ios,Swift,Firebase,Filter,Firebase Realtime Database,嗨,这里是我的posts提要数据库结构。 当我更改用户配置文件图片时,我想用新图像更新所有帖子(在posts/postd/user/userID/image下) 如果我有大量的帖子如何以最好的方式发布(Atomaticali) 我试着做一个查询,然后更新所有的键,但是查询在userID节点上不起作用。可能有更好的方法 与其在每篇文章上复制所有用户详细信息,为什么不将用户详细信息(包括个人资料图片)存储在如下结构中 /users/userID/name /users/userID/profil

嗨,这里是我的posts提要数据库结构。

当我更改用户配置文件图片时,我想用新图像更新所有帖子(在posts/postd/user/userID/image下)

如果我有大量的帖子如何以最好的方式发布(Atomaticali)


我试着做一个查询,然后更新所有的键,但是查询在userID节点上不起作用。

可能有更好的方法

与其在每篇文章上复制所有用户详细信息,为什么不将用户详细信息(包括个人资料图片)存储在如下结构中

/users/userID/name
/users/userID/profileURL
然后将posterID存储在post中


您需要进行两次数据库调用来获取数据,但是如果您更新一次配置文件图片,所有帖子都会正确检索到它

,但是在所有帖子调用中,我都需要与用户相关,因此这是没有效率的。firebase noSql风格的最大兴趣是非规范化您的配置文件图片的命名约定是什么res?如果您要将“xyz”的图片存储在“”处,则不需要执行任何操作。它是这样的,但带有firebase的令牌security@ThierryZanzouri你是对的,非规范化是正常的。但是,它非常依赖于用例。在这个用例中,我们需要检查更新用户的每一篇文章需要什么是的,这是两个firebase调用,但维护起来要容易得多,从长远来看,效率更高,而且比较一个调用来获取每篇文章的url与数千次更新,这是一个非常好的答案。@Jay通常用户更改的是图片,所以我做完整的更新是值得的,而不是在每个帖子提要请求中做一个子查询。我解决这个问题的方法是将userID作为一个键和值,然后在快照中过滤,然后我做一个原子更新posts->postID->description,postImageURL,UserCreator->userID,userName,imageurl一般来说,请以文本形式发布您的实际firebase结构请不要图片或链接。文本是可搜索的,如果我们需要在答案中使用它,我们可以复制并粘贴它。您可以从Firebase控制台->右侧三点->导出JSON获取文本版本。这是一个好问题。我更改了结构,没有保留旧的结构。但我会记住您的建议,非常感谢