Firebase Firestore,获取另一个文档内的引用文档
Firebase Firestore,获取另一个文档内的引用文档
我在使用Firebase Cloud Firestore
,我想当我获取包含参考字段的文档时,接收参考字段作为文档而不是作为对文档的引用...
我有一个用户集合和一个课程集合(在学校),每个课程包含对用户的参考列表(这个班级中的学生)。
当我使用document.get()
(通过其参考获取课程)时,它返回一个包含DocumentReference
列表(用户)的对象,因此我需要调用document.get()
大约20次才能将用户作为对象而不是参考获取到它们。
我希望能够调用document.get()
一次,它将把所有参考作为文档带给我,就像这样:
有没有一种优雅的方法可以做到这一点?
admin 更改状态以发布 2023年5月21日
你可以从一个集合中获取多个文档。请从文档中阅读“获取多个文档”部分 (Get multiple documents section from documentation)
这里是一个示例
db.collection("classes") .document(idOfTheClassYouWantToGet) .collection("users") .get() .addOnCompleteListener(new OnCompleteListener(){ @Override public void onComplete(@NonNull Task task) { if (task.isSuccessful()) { for (DocumentSnapshot document : task.getResult()) { User user = document.toObject(Users.class); } } } });
你不能指示Firestore客户端SDK在获取单个文档时自动跟随文档引用。你必须请求每个单独的文档。换句话说,在SQL中没有像你想象的那样的“连接”操作。