我想创建一个集合而不在其中创建任何文档。但不是首先创建文档,然后再删除文档。我尝试了一些操作,但是仍然在删除文档时,我的收藏集也被删除了。
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());
}
});
答案 0 :(得分:1)
在Firestore中没有任何文档就无法创建集合。如果您选中official documentation,则最后一段显示:
您不需要“创建”或“删除”集合。在集合中创建第一个文档之后,该集合存在。如果删除集合中的所有文档,则该文档将不再存在。 因此,一个集合中至少需要一个文档。