![](/img/trans.png)
[英]Can I query and retrieve Documents' field values in Subcollection in Cloud Firestore?
[英]How to make query Cloud Firestore by values
您好,我想通过 values 查询 Google Cloud Firestore 。
我试过这样:
FirebaseFirestore db = FirebaseFirestore.getInstance();
Query someQuery = db.collection(.someCollection);
if (someBoolean){
someQuery.whereEqualTo("SomeField", "SomeValue");
}
if (someBoolean2){
someQuery.whereEqualTo("SomeField2", "SomeValue2");
}
//etc
someQuery.limit(1);
someQuery.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>(){
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task){
if (task.isSuccessful()){
if (task.getResult().isEmpty()){
Log.d("LOG","NO DOCUMENTS FOUND");
}
else{
for(QueryDocumentSnapshot document : task.getResult()){
Log.d("LOG", document.getId()+"=>"+document.getData());}}
}
else{
Log.d("TAG", "---ERROR---");}
但它返回集合中的所有文档。
谁能帮我?
在许多地方,你这样做:
if (someBoolean){
someQuery.whereEqualTo("SomeField", "SomeValue");
}
这会返回一个添加了 .where() 条件的新查询 - 它不会修改原始查询。 someQuery
之后完全一样。 您需要保存返回值,例如:
if (someBoolean){
someQuery = someQuery.whereEqualTo("SomeField", "SomeValue");
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.