Android 如何向对象firestore中的对象数组添加值

Android 如何向对象firestore中的对象数组添加值,android,google-cloud-firestore,Android,Google Cloud Firestore,我试图将自定义对象添加到自定义对象内部的数组中, 我的意思是,我在CloudFireStore中保存了对象任务,现在我有几个子任务要保存在任务对象中,但每次我都要添加一个 我尝试了以下代码: db.collection(Constants.TASKLIST).document(uid) .update("subTasks", FieldValue.arrayUnion(subTask)); 数据结构 这是我的任务对象,任务和子任务是相同的 公共类任务实现可序列化{ private S

我试图将自定义对象添加到自定义对象内部的数组中, 我的意思是,我在CloudFireStore中保存了对象任务,现在我有几个子任务要保存在任务对象中,但每次我都要添加一个

我尝试了以下代码:

db.collection(Constants.TASKLIST).document(uid)
    .update("subTasks", FieldValue.arrayUnion(subTask));
数据结构

这是我的任务对象,任务和子任务是相同的

公共类任务实现可序列化{

private String description;
private String deadline;
private ArrayList<Task> subTasks;

public Task(String description, String deadline) {

    this.description = description;
    this.deadline = deadline;
    this.subTasks = new ArrayList<>();
}

public String getDeadline() {
    return deadline;
}

public String getDescription() {
    return description;
}

public ArrayList<Task> getSubTasks() {
    return subTasks;
}

public void setSubTasks(ArrayList<Task> subTasks) {
    this.subTasks = subTasks;
}

public Task(String description) {
    this.description = description;
}

public Task() {}
私有字符串描述;
私有字符串截止日期;
私有ArrayList子任务;
公共任务(字符串描述、字符串截止日期){
this.description=描述;
this.deadline=截止日期;
this.subTasks=new ArrayList();
}
公共字符串getDeadline(){
归还期限;
}
公共字符串getDescription(){
返回说明;
}
公共ArrayList getSubTasks(){
返回子任务;
}
公共无效设置子任务(ArrayList子任务){
this.subTasks=子任务;
}
公共任务(字符串描述){
this.description=描述;
}
公共任务(){}
}

但它给了我以下错误:


无效数据。不支持的类型:

如果我理解正确,您的ArrayList包含Task类型的对象。 Firestore只支持一定数量的数据类型,而这似乎不是其中之一。 是可以保存在firestore数据库中的项目列表


例如,您可以将任务另存为引用,或者简化操作,只需将文档的id另存为数组中的字符串。

请编辑问题,以便更具体地说明您要添加的内容。应该有足够的信息,任何人都可以重现准确的情况。请将数据库结构添加为屏幕截图和
子任务的内容。请同时回复@AlexMamoedit post LLL