我的数据库结构如下:
在“位置”集合中有一个文档,在其中有纬度,经度坐标:
我的最终目标是获取所有用户的所有纬度,经度坐标,但是如果我不知道文档名称在哪里,我已经停留在如何获取位置集合上?
是否可以执行一些查询以直接向内移动到WhereEqualTo("Lat")
之类的东西?
首先,我尝试了以下操作:
db.collection("Users").get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
List<String> listID = new ArrayList<>();
for (QueryDocumentSnapshot doc : task.getResult()) {
listID.add( doc.getId() );
}
但是它会返回空列表。
谢谢
答案 0 :(得分:1)
您需要使用Collection Group Query,如下所示:
db.collectionGroup("Location").get()
.addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
@Override
public void onSuccess(QuerySnapshot queryDocumentSnapshots) {
// ...
}
});
这将查询数据库中所有集合名称Location
的查询。