如果没有数据,如何运行runTransactionBlock?

时间:2018-06-08 15:12:54

标签: ios swift firebase firebase-realtime-database firebase-authentication

我有点卡住,不知道如何处理这件事。我有一个用swift编写的iOS应用程序。它是一款社交网络应用。它有帖子,用户,关注,喜欢等。

帖子的数据库层次结构的想法很简单,但是当应用程序在用户方面增长时非常有效。除非"注意"显示该帖子数据的单元格上的按钮(连接到帖子的notes),不需要其他数据。因此,我不想在帖子本身下存储所有喜欢,所有评论等,因为每次显示帖子时,无论用户是否真的想看,所有喜欢,评论等都会被下载他们与否。我想创建一个数据映射。这就是我的想法:

enter image description here

现在,假设第一个用户创建了第一篇帖子。自从它成为全新的以来,它一点也不喜欢。没有以前的帖子,没有映射表。它应该是从零开始的。

这是我无法理解的事情。我知道喜欢喜欢的东西,我必须使用runTransactionBlock以防1000个用户同时喜欢帖子。应根据喜欢和评论的总和来计算notes。该操作应如下所示:用户喜欢帖子:

  • 他们的uid应添加到posts_likes节点
  • likesCount应增加1
  • notes计数应增加1(因为likesCount)PS:notes每次用户喜欢,评论或重新发布任何内容时都应递增。

我完全不知道如何开始这样做。

0 个答案:

没有答案