Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 编辑Firestore collectionGroup查询文档_Android_Firebase_Google Cloud Firestore - Fatal编程技术网

Android 编辑Firestore collectionGroup查询文档

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

我想知道是否可以从collectionGroup查询中更新文档的字段。我已按如下方式设置了查询,我希望.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()){
                    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");
        }
    }
});