Android 编辑Firestore collectionGroup查询文档
我想知道是否可以从collectionGroup查询中更新文档的字段。我已按如下方式设置了查询,我希望.update()在查询返回的文档中指定一个字段Android 编辑Firestore collectionGroup查询文档,android,firebase,google-cloud-firestore,Android,Firebase,Google Cloud Firestore,我想知道是否可以从collectionGroup查询中更新文档的字段。我已按如下方式设置了查询,我希望.update()在查询返回的文档中指定一个字段 Query query = db.collectionGroup("orders").whereEqualTo("restaurantid",fAuth.getUid()).whereEqualTo(docId,getId()); query.get().addOnSuccessListe
Query query = db.collectionGroup("orders").whereEqualTo("restaurantid",fAuth.getUid()).whereEqualTo(docId,getId());
query.get().addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
@Override
public void onSuccess(QuerySnapshot queryDocumentSnapshots) {
if (!queryDocumentSnapshots.isEmpty()){
Order order = queryDocumentSnapshots.getDocuments().get(0).toObject(Order.class);
//can i update the document here?
}else
{
Log.d("STATUS ERROR", "QUERY IS EMPTY");
}
}
});
Query Query=db.collectionGroup(“订单”).whereEqualTo(“restaurantid”,fAuth.getUid()).whereEqualTo(docId,getId());
query.get().addOnSuccessListener(新的OnSuccessListener()){
@凌驾
成功时公共无效(QuerySnapshot QueryDocumentSnapshot){
如果(!queryDocumentSnapshots.isEmpty()){
Order Order=queryDocumentSnapshots.getDocuments().get(0).toObject(Order.class);
//我可以在这里更新文档吗?
}否则
{
Log.d(“状态错误”,“查询为空”);
}
}
});
您可以使用任何文档的引用和更新方法更新文档的值
DocumentReference washingtonRef=db.collection(“cities”).document(“DC”);
washingtonRef.更新(键、值);
您可以使用任何文档的引用和更新方法更新文档的值
DocumentReference washingtonRef=db.collection(“cities”).document(“DC”);
washingtonRef.更新(键、值);
要在Firestore中写入文档,您需要一个文档引用。您的queryDocumentSnapshots.getDocuments().get(0)
提供了一个DocumentSnapshot
,它具有。因此:
Query Query=db.collectionGroup(“订单”).whereEqualTo(“restaurantid”,fAuth.getUid()).whereEqualTo(docId,getId());
query.get().addOnSuccessListener(新的OnSuccessListener()){
@凌驾
成功时公共无效(QuerySnapshot QueryDocumentSnapshot){
如果(!queryDocumentSnapshots.isEmpty()){
DocumentSnapshot snapshot=queryDocumentSnapshots.getDocuments().get(0);
//Order-Order=snapshot.toObject(Order.class);
DocumentReference ref=snapshot.getReference();
参考更新(“字段名”、“值”);
}否则{
Log.d(“状态错误”,“查询为空”);
}
}
});
要在Firestore中写入文档,您需要一个文档引用。您的queryDocumentSnapshots.getDocuments().get(0)
提供了一个DocumentSnapshot
,它具有。因此:
Query Query=db.collectionGroup(“订单”).whereEqualTo(“restaurantid”,fAuth.getUid()).whereEqualTo(docId,getId());
query.get().addOnSuccessListener(新的OnSuccessListener()){
@凌驾
成功时公共无效(QuerySnapshot QueryDocumentSnapshot){
如果(!queryDocumentSnapshots.isEmpty()){
DocumentSnapshot snapshot=queryDocumentSnapshots.getDocuments().get(0);
//Order-Order=snapshot.toObject(Order.class);
DocumentReference ref=snapshot.getReference();
参考更新(“字段名”、“值”);
}否则{
Log.d(“状态错误”,“查询为空”);
}
}
});
请分享您的订单
课程。使用update
方法可以对文档进行任何更新。请分享您的订单
课程。并且可以使用update
方法对文档进行任何更新。
Query query = db.collectionGroup("orders").whereEqualTo("restaurantid",fAuth.getUid()).whereEqualTo(docId,getId());
query.get().addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
@Override
public void onSuccess(QuerySnapshot queryDocumentSnapshots) {
if (!queryDocumentSnapshots.isEmpty()){
DocumentSnapshot snapshot = queryDocumentSnapshots.getDocuments().get(0);
// Order order = snapshot.toObject(Order.class);
DocumentReference ref = snapshot.getReference();
ref.update("fieldName", "value");
} else {
Log.d("STATUS ERROR", "QUERY IS EMPTY");
}
}
});