当前位置: 首页 > 知识库问答 >
问题:

用于不等式检查的Firebase数据建模

芮承运
2023-03-14

我一直在开发一个具有反应原生的移动应用程序

我的应用程序将允许用户投票其他用户上传的照片,并且每个用户将被允许为每张照片投票一次。我正在为投票操作提供一个类似火绒的UI。我计划让Firebase上的用户照片树看起来像这样,这很简单:

{
  users:{
    userId1: {
       name:'John'
       surname: 'Doe',
       votedPhotos: {
         somePhotoId: {
           timestamp: 1528836856000
         },
         somePhotoId2: {
           timestamp: 1529363754000
         },
         ...
       },
       ...
    },
    userId2: {
       name:'Johnny'
       surname: 'Doerr'
       ...
    },
    ...
  },
  photos: {
    photoId1: {
      url: 'https://a-firebase-storage-url',
      owner: {
        uid: 'userId1',
        fullName: 'John Doe'
      },
      upvoteCount: 12,
      downvoteCount: 8
    },
    photoId2: {
      url: 'https://another-firebase-storage-url',
      owner: {
        uid: 'userId2',
        fullName: 'Johnny Doerr'
      },
      upvoteCount: 28,
      downvoteCount: 4
    },
    ...    
  }
}

我需要防止用户对自己的照片进行投票,并对照片进行多次投票。因此,我需要查询照片,排除用户已投票的照片和自上传的照片。如果我使用的是传统的数据库,这将非常简单,但我不知道如何在firebase实时数据库中进行查询,因为我不能使用<code>not_equals。您建议我如何建模数据?

共有1个答案

姬振濂
2023-03-14

photoouid下记录用户投票。我想. long可以为您提供总票数。

photos
  photo1-uid
    owner:user1-uid
    votes:{
      user2-uid: true,
      user3-uid: true
    }
 类似资料:
  • 目前我正在做一个新的Firebase web项目。我想检查当前登录的用户ID是否保存在实时数据库中,以便为用户在我的网站上提供一些特定的可能性/权限。 实时数据库: 我的问题:哪些JavaScript代码可以将当前登录的Firebase用户与此db值进行比较?

  • 问题内容: 我开始于: 然后尝试: 最终: 从那以后我发现: 因此,我已经解决了最初的问题(有点),但是为什么数组不能互相匹配? 问题答案: Javascript数组是对象,您不能简单地使用相等运算符来了解那些对象的 内容 是否相同。如果两个物体实际上是完全一样的情况下(如平等运营商将只测试,作品和太)。 如果您需要检查两个数组是否相等,我建议只遍历两个数组并验证所有元素具有相同的值(并且两个数组

  • 问题内容: 我正在尝试查询Firebase,以检查是否有任何用户,然后在返回快照时,我想查看它是否等于nil。我尝试执行此操作,但是我使用的方法不起作用,并且如果快照不等于nil,则只有某种输出。我添加了当前拥有的代码和Firebase中的JSON文本。 JSON数据: 问题答案: 这里发生了几件事,但是最重要的是,您无法测试患儿的存在。如果您考虑一下,那是有道理的:当将一个孩子添加到该位置时,将

  • 我有下面的火药结构。因此,我需要根据查询 到目前为止,我已经写了这个,它只适用于一个值。我如何将两者结合起来

  • 我需要存储FireBase getValue方法的结果,该方法由他自己异步。我不能使用像“onPostExecute()”这样的东西,而且,出于我的目的,我不能将我的所有操作都执行到“onDataChange()”,因为我在以后的其他活动中需要一些引用。 这里是检索数据的代码段: 如果我试图从“onDataChange”中读出村庄,我自然会为他的异步生命取空值。有一种方法可以确保onDataCha

  • 我正在开发基于地图的android应用程序,并使用firebase数据库(谷歌实时数据库免费版)。但是我不能使用latlng数据检索数据。 帮助我爱人