在 Cloud Firestore 中,我有一个名为“用户”的根集合:
class User {
String name;
...
}
此集合中的每个用户都是一个具有文档 ID 的文档。这些存储方式如下
root->users->
userId1->Name:Mark, ...
userId2->Name:Zuck, ...
userId2->Name:Erb, ...
应该User
类包含一个字段 userid
存储文档ID?
这些用户也有 friend :
class User {
String name;
List<User> friends;
...
}
我应该如何建模?
- 我应该将列表更改为
List<String> friendsId
吗? ? 我应该删除
List<User> friends
吗?到外面的另一个类(class),例如class UserFriends{ User user; List<User> friends; }
并创建另一个“userFriends”根集合?
或任何其他方式。
最佳答案
对于您的第一个问题,是的,您可以将文档 ID 添加为 Java 对象上的一个字段。如果您将其与 custom object mapping 结合使用,请小心,您可能会无意中序列化 ID。
你的第二个问题似乎很适合 subcollections .您可能想以不同的方式查询用户的好友关系,而子集合让这变得非常简单。
关于android - 如何在 FireStore 中为具有字段 `User` 的类 `List<User> friends` 建模?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47016644/