当前位置: 首页 > 知识库问答 >
问题:

Firestore创建集合而不添加任何文档

太叔志文
2023-03-14

我想创建一个集合而不在其中创建任何文档。但不是先创建文档,然后删除文档。我尝试了一些方法,但当我删除文档时,我的集合也被删除了。

Firestore图像

FirebaseFirestore db = FirebaseFirestore.getInstance();

        DocumentReference roomReference = db.collection("messagingRooms").document();

        List<String> partners = new ArrayList<>();
        partners.add("my_id");
        partners.add("it's id");


        Map<String ,Object> newRoom = new HashMap<>();
        newRoom.put("partners", partners);
        newRoom.put("roomID", roomReference.getId());

        roomReference.set(newRoom)
                .addOnSuccessListener(new OnSuccessListener<Void>() {
                    @Override
                    public void onSuccess(Void aVoid) {

                        Map<String, Object> newMessage  = new HashMap<>();

                       DocumentReference messageReference =  roomReference.collection("messages").document();

                        messageReference.set(newMessage)
                               .addOnSuccessListener(new OnSuccessListener<Void>() {
                                   @Override
                                   public void onSuccess(Void aVoid) {
                                       
                                      db.collection("messagingRooms")
                                              .document(roomReference.getId())
                                              .collection("messages")
                                              .document(messageReference.getId())
                                              .delete()
                                              .addOnCompleteListener(new OnCompleteListener<Void>() {
                                                  @Override
                                                  public void onComplete(@NonNull Task<Void> task) {
                                                      Log.v("Mok", messageReference.getId());
                                                  }
                                              });
                                   }
                               });

                    }
                }).addOnFailureListener(new OnFailureListener() {
            @Override
            public void onFailure(@NonNull Exception e) {
                Log.v("Error_1", e.getMessage());
            }
        });

共有1个答案

裘丰
2023-03-14

如果firestore中没有任何文档,则无法创建集合。如果你查看官方文件,最后一段会说:

您不需要“创建”或“删除”集合。在集合中创建第一个文档后,该集合即存在。如果删除集合中的所有文档,则该集合将不再存在。

因此,集合中至少需要一个文档。

 类似资料:
  • 您好,我是firebase firestore的新手,无法将对象直接添加到集合中查看图像错误结果和预期结果 尝试 它在余额集合下创建一个新文档,但我需要它的Object值直接在余额集合中

  • 这是我的数据库在https://i.stack.imgur.com/3nZMn.png的照片 这是我用来在这个数据库中创建新用户的函数。它正在工作,但是缺少子集合。 有人有办法解决这个问题吗?

  • 问题内容: 没有关于如何在Firestore中的文档中添加子集合,如何使用Web应用程序添加子集合的文档? 甚至像这样尝试过,但没有奏效。如何使用代码在应用程序中添加子集合?有什么办法可以做到,还是使用Firebase实时数据库会更好?如果是这样,请让我知道如何在Firebase中执行此操作,我也想这样添加, 但我却收到这样的错误,错误说明了这一点 问题答案: 如果更改为,您的代码应该可以工作。然

  • 在我的flatter应用程序中,我需要将文档添加到集合“influencerPost”,每次用户添加新的“post”时,该文档都必须添加到以前的。。。但在这一刻,我只是得到了对上一个文档的覆盖。正如您通过我的方法所看到的,我已经上传了图像,并将其存储到Firebase中。之后,我创建了一个名为“影响者帖子”(influencerPost)的集合,每次发布新帖子时,我都必须添加该集合生成新文档而不覆

  • 是否有方法获取将文档添加到集合后生成的文档id? 如果我将文档添加到代表社交媒体软件中“帖子”的集合中,我想获取该文档ID并将其用作不同集合中另一个文档中的字段。 如果我无法获取添加文档后生成的文档Id,我是否应该计算一个随机字符串,并在创建文档时提供Id?这样我就可以使用与其他文档中的字段相同的字符串了? 快速结构示例:

  • 我正在尝试使用android studio中的Firestore制作一个课程添加系统。 当用户添加一个课程时,它将被添加到Fi还原中,并且在该课程集合中会有一个学生和教师集合。 但我不知道怎么做。 如果我为学生和教师集合编写代码,它会添加两个不同的集合,但我希望在一个课程集合中有两个集合,学生和教师。 我该怎么做呢? 我分享我写的代码。 添加课程类