Database 社交网络阻塞配置文件的Firebase Firestore数据结构

Database 社交网络阻塞配置文件的Firebase Firestore数据结构,database,firebase,google-cloud-firestore,nosql,social-networking,Database,Firebase,Google Cloud Firestore,Nosql,Social Networking,我正在使用Firebase Firestore构建一个社交网络,我有一个关于数据结构的问题,该功能允许用户相互阻止 目前,我有一个名为“blocking”的集合,它有两个子集合,例如: /blocking/{uid}/userBlocking/{targetUid} <-- the uids the user is blocking /blocking/{uid}/userBlocked/{targetUid} <-- the uids the user is blocked by

我正在使用Firebase Firestore构建一个社交网络,我有一个关于数据结构的问题,该功能允许用户相互阻止

目前,我有一个名为“blocking”的集合,它有两个子集合,例如:

/blocking/{uid}/userBlocking/{targetUid} <-- the uids the user is blocking
/blocking/{uid}/userBlocked/{targetUid} <-- the uids the user is blocked by

/blocking/{uid}/userBlocking/{targetUid}我认为你所做的实际上是最好的情况。您已经正确地认识到,在可伸缩性和成本之间存在权衡,这对于NoSQL类型的数据库来说是非常常见的事情。如果您想要可伸缩性,您必须接受成本

您可以通过为每个文档
get()
将客户机代码写入,并仅定期刷新缓存,根据需要加载新文档来优化这一点