gpt4 book ai didi

java - 如何将自定义对象数组添加到 Firestore 文档字段?

转载 作者:行者123 更新时间:2023-12-02 01:32:19 25 4
gpt4 key购买 nike

我想在文档中更新或创建一个名为“tags”的字段,该字段应包含名为“标签”的自定义对象数组(“tag_name”、“tag_color”)。要更新或创建这样的字段,我必须传递一个所述对象的数组(无法传递单个对象,因为它无效且昂贵)。我怎样才能实现这个目标?我尝试将 Tag 对象的 ArrayList 添加到 Hashmap:

HashMap<String, ArrayList<GenericTagModel>> myObject = new HashMap<>();
ArrayList<GenericTagModel> toArrayList = new ArrayList<GenericTagModel>(usedModels);
myObject.put("tags",toArrayList);
db.collection("users").document(user.getUid()).set(myObject, SetOptions.merge());

但是这一切只是添加一个内部没有任何内容的字段:“tags:[]”

我能做什么?

最佳答案

您收到 tags:[] 是因为您的 toArrayList 为空,包含任何 GenericTagModel 对象。要解决此问题,请使用以下代码行:

HashMap<String, ArrayList<GenericTagModel>> myObject = new HashMap<>();
ArrayList<GenericTagModel> toArrayList = new ArrayList<GenericTagModel>(usedModels);
toArrayList.add(new GenericTagModel("redTag", "Red")); //Populate ArrayList
toArrayList.add(new GenericTagModel("blueTag", "Blue")); //Populate ArrayList
toArrayList.add(new GenericTagModel("greenTag", "Green")); //Populate ArrayList
myObject.put("tags",toArrayList);
db.collection("users").document(user.getUid()).set(myObject, SetOptions.merge());

结果将是一个包含 GenericTagModel 对象的数组。

关于java - 如何将自定义对象数组添加到 Firestore 文档字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57547995/

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