firebase firestore集合创建错误,无法写回

dgtucam1  于 2021-06-29  发布在  Java
关注(0)|答案(1)|浏览(252)

关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。

5天前关门了。
改进这个问题
在android应用程序中,我需要创建子集合并向其中添加多个文档。我不知道如何创建子集合,也不知道在尝试使用writebatch对现有子集合时什么都没有发生。这是我的密码

WriteBatch batch = db.batch();
for (int i = 0; i < tempStorage.tasks.size(); i++) {
    Map<String, Object> docData = new HashMap<>();
    docData.put("code", tempStorage.solutions.get(i));
    docData.put("output", output[i]);
    docData.put("score", pointsToDB);

    DocumentReference documentReference = db.collection("assignment").document(assignmentID)
            .collection(user.getUsername()).document();

    batch.set(documentReference, docData);
}
batch.commit().addOnCompleteListener(new OnCompleteListener<Void>() {
    @Override
    public void onComplete(@NonNull com.google.android.gms.tasks.Task<Void> task) {
        if (task.isSuccessful()) {
            // 6
            tempStorage.solutions = Arrays.asList(new String[10000]);
            alertDialog.dismiss();
            activity.getSupportFragmentManager().popBackStack();
        } else {
            alertDialog.dismiss();
            System.out.println("ERROR");
            Toast.makeText(context, "Error has occurred try again!", Toast.LENGTH_SHORT).show();
        }
    }
});
brccelvz

brccelvz1#

不创建集合;它们实际上并不存在于firestore中;只有文档存在。这个 collections 是方便您的一个组织因素。”当您创建文档并将它们包含在路径中时,集合“就开始存在了。你可以从一个完全空的数据库开始;如果使用以下路径创建文档:

/TopCollection/aDocumentID/NextCollection/nextDocumentID/lastCollection/targetDocument

收藏 TopCollection, NextCollection, lastCollection 将在控制台中显示(斜体)和清空文档 aDocumentID, nextDocumentID -仅限 targetDocument 将实际创建。
索引是针对包含集合的路径描述的文档创建的,但是集合没有物理存在。

相关问题