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

云firestore中的好友关系数据模型

沈飞翔
2023-03-14

user_two_id

现况

action_user_id

好友列表

检索所有用户的朋友。这里的用户1是登录的用户。

SELECT * FROM `relationship`
  WHERE (`user_one_id` = 1 OR `user_two_id` = 1)
  AND `status` = 1

共有1个答案

公羊伟志
2023-03-14

不是将用户ID存储在两个单独的字段中,而是将它们存储在单个数组中:

userIds: [1, 2]

在文档中使用该字段,然后可以执行Array-Contains查询,以检测1Userids的一部分的所有文档,这些文档具有:

relationsRef.where('userIds', 'array-contains', 1);

和你的其他情况相结合:

relationsRef.where('userIds', 'array-contains', 1)
            .where('status', '=', 1)
 类似资料:
  • 回顾 我们小型的 microblog 应用程序已经慢慢变大,到现在为止我们已经接触了需要完成应用程序的大部分的话题。 今天我们将更加深入地学习数据库。我们应用程序的每一个用户都能够选择他或者她的关注者,因此我们的数据库必须能够记录谁关注了谁。所有的社交应用都会以某种形式实现这个功能。一些应用程序称它为联系人,其他连接,好友,伙伴或者关注者。其他的站点使用同样的主意去实现允许和忽略的用户列表。我们称

  • 本文向大家介绍关系数据模型,包括了关系数据模型的使用技巧和注意事项,需要的朋友参考一下 关系数据模型是最著名的数据模型,全世界大多数人都在使用它,它是一种简单而有效的数据模型,并具有以最佳方式处理数据的能力。 表用于处理关系数据模型中的数据。包含有关公司员工数据的表格示例如下- <员工> Emp_Number Emp_Name Emp_Designation Emp_Age Emp_Salary

  • 本题部分基于加速C++[1]中的练习15-4和那本书中的代码。我想将函数声明为类的朋友,以便它能够访问私有成员。函数被声明为模板,但我不想让所有可能的函数访问私有成员,只允许那些与该类关联的函数访问。 其他文件: 另一个假设的函数可以调用对象的方法,但我希望限制对的私有访问。有没有办法做到这一点,还是我想多了,这种情况在实践中永远不会发生?我应该使用模板专门化吗? [1]Koenig,A.和Moo

  • 本文向大家介绍对象关系数据模型,包括了对象关系数据模型的使用技巧和注意事项,需要的朋友参考一下 对象关系模型是面向对象的数据库模型和关系数据库模型的组合。因此,它像面向对象的模型一样支持对象,类,继承等,并支持数据类型,表格结构等,例如关系数据模型。 对象关系数据模型的主要目标之一是缩小关系数据库和许多编程语言(例如C ++,C#,Java等)中经常使用的面向对象实践之间的差距。 对象关系数据模型

  • 为了了解在朋友关系中使用Neo4J的优势,我在MySQL数据库上创建了一个Persons表(“Persons”,20900个数据集): 和一张关系表(“友谊”,每个人有50到100个朋友): 因此,大约有120万人的关系。 现在我想查看id=1的人的朋友的朋友的朋友的朋友,因此我创建了一个如下查询: 用户ID 1的查询用了大约30秒 在Neo4J中,我为每个人创建了一个节点(20900个节点)和一

  • 计算机最为重要的一项应用就是存储和管理信息。信息的组织方式对访问和管理信息的容易程度有着深刻的影响。也许最简单而最万能的信息组织方式就是将其存储在表中。 关系模型就是这一概念的核心:数据被组织成称为“关系”的二维表集合。我们还可以将关系模型视作第7章讨论的集合数据模型的一般化,是将二元关系扩展到任意元的关系。 之所以最初要研发关系数据模型,是因为要用于数据库,即长时间存储在计算机系统中的信息,并用