uid:一个关系中包含两个UID的列表
CompositeKey:两个UID的复合键
启动者:发起关系的人的uid
- Status:关系的状态(例如“朋友”,“阻止”或“请求”)
-
我现在正在尝试找出一种输入两个用户用户名的方法,以使我可以在查询中对朋友进行分类。为了让所有朋友不进行排序,我正在使用以下代码:
firestore.collection("relationships").whereArrayContains("uids", myUID).whereEqualTo("status", "friends").limit(10).get()
- 现在我想尝试对朋友进行分类,但是让所有朋友不是一个选择将名称存储在Firestore中。
此处请求的是我用于测试的虚拟数据条目之一的屏幕截图:
有一种查询数据的方法,以便用户的朋友列表按他们的名字进行排序(因此,如果我尝试要求“ 6人6”这里,我需要使用name1,反之亦然)。即使我不提前知道每个文档的时间,如果用户从谁的角度获取数据将是启动器?我相信目前的模式是不可能的,但也许有不同的模式可能是可能的吗?
从评论中的讨论中,听起来您想根据相同情况的查询在两个字段之一上订购。这不是Firestore支持的东西。
尤其是这意味着您的数据模型与应用程序的要求不符。
在这种情况下,我的直接想法是,您可能应该为对话中的用户而不是数组字段使用子收集。
但也可能是,此用例根本不符合NOSQL数据库(或特别是Firestore)。如果您来自关系数据库中的背景,那么阅读
NOSQL数据建模技术可能是一件好事,然后观看toget
了解CloudFirestore
.