一个人已经登录了该应用程序。此人有一些订单,这些订单在详细的概述列表中进行了拆分。不幸的是,此列表在输出中为空。如何在详细的概览列表中获取订单的值?
我的firebase看起来像这样: 集合:用户->文档用户ID->集合bestellungen->文档bestellungen ID->集合geasmtbestellungen。
我想要gesamtbestellung中的所有文件。我有当前使用的ID和bestellungen集合的ID
public void getGesamtbestellung(int bestellnr) {
final FirebaseFirestore db = FirebaseFirestore.getInstance();
final FirebaseAuth mAuth = FirebaseAuth.getInstance();
db.collection("users").document(mAuth.getCurrentUser().getUid()).collection("bestellungen").document().collection("gesamtbestellungen").whereEqualTo("bestellnummer",61)
.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
ArrayList<Bestellung> list = new ArrayList<>();
//Toast.makeText(getActivity(), "Bestellungen wurden gefunden!", Toast.LENGTH_SHORT).show();
for (QueryDocumentSnapshot document : task.getResult()) {
//Log.d(TAG, document.getId() + " => " + document.getData());
Bestellung best = document.toObject(Bestellung.class);
System.out.println("-------------------->" + best.toString());
list.add(best);
}
//System.out.println(list.get(0).toString());
//Toast.makeText(getActivity(), "Bestellungen wurden gefunden!", Toast.LENGTH_SHORT).show();
} else {
//Toast.makeText(getActivity(), "Es ist ein Fehler beim Abrufen der Bestellungen aufgetreten: " + task.getException().toString(), Toast.LENGTH_SHORT).show();
//Log.w(TAG, "Error getting documents.", task.getException());
}
}
});
}
答案 0 :(得分:1)
这是您的查询:
pip install Werkzeug==0.16.1
请注意,您尚未在“ bestellungen”下识别文档。不将任何参数传递给db
.collection("users")
.document(mAuth.getCurrentUser().getUid())
.collection("bestellungen")
.document() // note the missing document ID here
.collection("gesamtbestellungen")
.whereEqualTo("bestellnummer",61)
会生成带有随机ID的文档引用,这几乎可以肯定保证您一无所获。
如果您要查询特定文档下的子集合,则必须提供该文档的ID。查询路径中没有通配符。
如果您要查询称为“ gesamtbestellungen”的子集合的 all 中的所有文档的 all ,那么您将需要一个collection group query。