gpt4 book ai didi

java - 使用 arrayUnion 将对象添加到 firestore 中的数组

转载 作者:行者123 更新时间:2023-12-02 09:08:10 24 4
gpt4 key购买 nike

在我的 Android 应用程序中,我构建了一个名为“Lesson”的对象(它只有 2 个字符串字段)。

我在 Firestore 上有一个集合,其中一个字段是“类(class)”数组(称为“我的类(class)”)。

我想在数组中添加另一节课。我尝试使用:

DocumentReference.update("myLessons", FieldValue.arrayUnion(A_LESSON));

但我总是遇到异常(exception):

 java.lang.IllegalArgumentException: Invalid data. Unsupported type: com.example.classmate.Models.Lesson

但是当我尝试使用整数和字符串来执行此操作时,它起作用了(尽管我将数组声明为“类(class)”数组)。

是否可以将非抢占式对象上传到数组?如何将对象上传到数组?

谢谢!

最佳答案

这似乎是 Firestore SDK 的限制。抛出的异常来自 here 。该方法正在确定它是否可以处理传递给 FieldValue.arrayUnion() 的参数。您正在传递自定义类型 com.example.classmate.Models.Lesson,但由于它不是可接受的类型之一,因此它会抛出 IllegalArgumentException。

您应该传递您在该方法 parseScalarValue 中看到的可接受的类型之一(例如,null、Integer、Double、String 等)。

如果您希望能够传递自定义类类型,我建议在 GitHub for the Firebase SDK 上提交功能请求.

关于java - 使用 arrayUnion 将对象添加到 firestore 中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59633141/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com