繁体   English   中英

未创建 Firestore 文档

[英]Firestore document not getting created

我正在尝试创建一个 Firestore 文档,该文档由一个文档组成,该文档的键是 Web URL,值是文档的集合。 我使用 URL 和用户 ID 指定文档引用,如下所示:

private String replaceSlashSeparators(String url) {
    return url.substring(0, 8) + url.substring(8).replaceAll("/", "%2F");
}

private void postComment(String page_url, String userID, String subj, String msg) {
    DocumentReference mLinkDocRef = db.collection("links").document(replaceSlashSeparators(page_url)).collection("comments").document(userID);
    Map<String, Object> data = new HashMap<>();
    data.put(FSNAME, mUsername);
    data.put(FSIMGURL, mPhotoUrl);
    data.put(FSDEVICEID, deviceID);
    data.put(FSSUBJECT, subj);
    data.put(FSCOMMENT, msg);
    mLinkDocRef.set(data)
            .addOnSuccessListener(new OnSuccessListener<Void>() {
                @Override
                public void onSuccess(Void aVoid) {
                    FirebaseMessaging.getInstance().getToken()
                            .addOnCompleteListener(task -> {
                                if (!task.isSuccessful()) {
                                    Log.e(TAG, "Listen failed.", task.getException());
                                    crashlytics.log("Listen failed." + Objects.requireNonNull(task.getException()).getMessage());
                                    return;
                                }
                                showCommentPostedDialog();
                            });
                    Log.d(TAG, "DocumentSnapshot successfully written!");
                }
            })
            .addOnFailureListener(new OnFailureListener() {
                @Override
                public void onFailure(@NonNull Exception e) {
                    Log.w(TAG, "Error writing document", e);
                    Toast.makeText(context, e.getLocalizedMessage(), Toast.LENGTH_LONG).show();
                }
            });

我希望在“链接”集合中看到一个包含 URL 的文档和具有上述数据的“评论”文档,但没有创建任何文档。 set() 调用 onSuccess(),因此应该已经创建了文档。 任何人都知道为什么会这样? 在此处输入图像描述

这很尴尬。 事实证明我的代码是正确的。 文档没有出现的原因是因为我必须刷新集合。 我过去从来不需要这样做来让文档出现,但我想当你有一个较长的层次结构时,这是必要的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM