我正在使用{% for p in pubs %}
{{ p.city.city_name}} # p.city has been populated in the initial query
# ...
{% endfor %}
,我希望当我收到一个带有引用字段的文档时,将该引用字段作为文档接收而不是作为对该文档的引用...
我有一组用户和课程集合(在学校),每个课程都包含一个对用户(本课程的学生)的引用列表。
当我使用Firebase Cloud Firestore
(通过引用获取类)时,它返回一个包含document.get()
(用户)列表的对象,因此我需要再调用DocumentReference
20次左右只是为了让用户成为对象,而不是作为对象的引用。
我希望能够拨打document.get()
一次,它会将所有引用作为文档提供给我:
database和code
有优雅的方法吗?
答案 0 :(得分:2)
在获取单个文档期间,您无法指示Firestore客户端SDK自动跟踪文档引用。您必须要求每个单独的文件。换句话说,没有像SQL中那样的“连接”操作。
答案 1 :(得分:0)
您可以从集合中获取多个文档。 Read get mutiple documents section from documentation
这是一个例子
db.collection("classes")
.document(idOfTheClassYouWantToGet)
.collection("users")
.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>(){
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
for (DocumentSnapshot document : task.getResult()) {
User user = document.toObject(Users.class);
}
}
}
});