如何在Firebase实时数据库中保存文档参考

时间:2019-07-26 18:24:17

标签: java android firebase firebase-realtime-database google-cloud-firestore

所以我同时使用了Firestore和Realtime数据库。我正在尝试将文档存储在Firestore中,并将该文档引用保存到实时数据库中。 这是我的代码:

firebaseFirestore.collection("Orders").add(postMap).addOnCompleteListener(new OnCompleteListener<DocumentReference>() {
            @Override
            public void onComplete(@NonNull Task<DocumentReference> task) {
                Map<String,Object> map=new HashMap<>();

                DocumentReference documentReference= task.getResult();
                firebaseDatabase.getReference(firebaseAuth.getCurrentUser().getUid()).push().setValue(documentReference);
                firebaseDatabase.getReference(productBag.get(l).productModel.getUser_id()).push().setValue(documentReference);

            }
        });

这将引发错误。我知道我们不能在实时数据库中存储文档引用。有什么办法吗?

1 个答案:

答案 0 :(得分:0)

我认为您正在寻找DocumentReference.getPath(),它将返回文档路径的字符串。您可以将该字符串存储在实时数据库中,以后再通过调用FirebaseFirestore.document(...)从字符串中复制Task<int>