Java 如何在Firestore中插入对象数组?

Java 如何在Firestore中插入对象数组?,java,firebase,kotlin,google-cloud-firestore,Java,Firebase,Kotlin,Google Cloud Firestore,我想在Firestore中插入一个对象数组?我可以从Firestore控制台添加,但从Java进行添加不起作用?我在这里附上我的控制台快照,代码是: val map = HashMap<String, Any>() map["one"] = request.records dayFormDoc.set(map) val-map=HashMap() 映射[“一”]=request.records dayFormDoc.set(映射) 这里request.record

我想在Firestore中插入一个对象数组?我可以从Firestore控制台添加,但从Java进行添加不起作用?我在这里附上我的控制台快照,代码是:

val map = HashMap<String, Any>()
    map["one"] = request.records
    dayFormDoc.set(map)
val-map=HashMap()
映射[“一”]=request.records
dayFormDoc.set(映射)
这里request.records是一个数组

试试这个

安卓
Map docData=newhashmap();
put(“listExample”,Arrays.asList(1,2,3));
JAVA
ArrayList arrayExample=new ArrayList();
Collections.addAll(arrayExample,5L,true,“hello”);
放置(“arrayExample”,arrayExample);
更多信息


希望这是完整的帮助。

您不能简单地将数组添加到Cloud Firestore数据库,因为您将得到如下错误:

原因:java.lang.IllegalArgumentException:无效数据。不支持数组;改为使用列表(在字段数组中找到)

因此,要解决这个问题,您应该将数组转换为一个列表,如下代码行所示

适用于Android:

Map<String, Object> map = new HashMap<>();
String[] array = {"One", "Two", "Three"};
map.put("array", Arrays.asList(array));
dayFormDoc.update(map);
val map = HashMap<String, Any>()
val array = arrayOf("One", "Two", "Three")
map["array"] = Arrays.asList(*array)
dayFormDoc.update(map)
Map Map=newhashmap();
字符串[]数组={“一”、“二”、“三”};
map.put(“array”,Arrays.asList(array));
dayFormDoc.更新(地图);
对于科特林:

Map<String, Object> map = new HashMap<>();
String[] array = {"One", "Two", "Three"};
map.put("array", Arrays.asList(array));
dayFormDoc.update(map);
val map = HashMap<String, Any>()
val array = arrayOf("One", "Two", "Three")
map["array"] = Arrays.asList(*array)
dayFormDoc.update(map)
val-map=HashMap()
val数组=数组(“一”、“二”、“三”)
map[“array”]=Arrays.asList(*array)
dayFormDoc.update(地图)

我尝试过这种方法,但遇到一个错误,无法转换tp Firestore值。根据我的观察,原始类型的arraylist没有问题@chetan mahajani将在更改代码后尝试。因此,等待或找到另一个解决方案。但我是安卓开发者,不完全是javaNo。我只使用列表,我的错误是“无法将其转换为Firestore值”,所以这就是问题所在。您不能使用列表,因为该列表不是一个数组,您应该按照我在回答中的建议
Arrays.asList
。你试过了吗?嗨,普拉桑娜!我能帮你了解其他信息吗?如果你认为我的回答对你有帮助,请考虑接受它。✔️). 我真的很感激。谢谢!