【问题标题】:Invalid data. Nested arrays are not supported Firestore java无效数据。不支持嵌套数组 Firestore java
【发布时间】:2023-01-03 04:07:48
【问题描述】:

由于 firestore 不支持嵌套数组,我更改了模型并将嵌套数组存储在另一个类中,但我仍然面临同样的错误。这是模型

public class Assignmentsdata implements Serializable {

String assignmentId;
String teacherId;
int game_nameId;
String sectionId;
String levelId;
String startTime;
String endTime;
String groupName;

// Another class that has nested arrays.
Progress progress;

int number_of_exercises;
int exStatus;
public Assignmentsdata() {

}
// getters and setters here.
}

这是具有嵌套数组的类

public class Progress {


public Progress() {
}

ArrayList<String> progressList;

public Progress(ArrayList<String> progressList) {
    this.progressList = progressList;
}

public ArrayList<String> getProgressList() {
    return progressList;
}

public void setProgressList(ArrayList<String> progressList) {
    this.progressList = progressList;
}
}

我正在尝试将 AssignmentData 数组保存在 firestore 中。

db.collection("users").document(docName).update(
                        "myArchiveList", FieldValue.arrayUnion(assignmentsdata)).
                addOnCompleteListener(new OnCompleteListener<Void>() {
                    @Override
                    public void onComplete(@NonNull Task<Void> task){}

【问题讨论】:

    标签: java android firebase google-cloud-firestore


    【解决方案1】:

    在花了一整天的时间解决这个问题后,我找到了答案。实际上,如果您的对象没问题,那么如果您仍然遇到相同的错误,那么此错误会产生误导。实际上而不是使用一次推送所有元素 FieldValue.arrayUnion,你必须一次推送一个元素而不是整个列表。只需在项目中使用循环。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-02-29
      • 1970-01-01
      • 2019-02-12
      • 2021-06-17
      • 2021-10-04
      • 1970-01-01
      • 2018-06-25
      相关资源
      最近更新 更多