java - 如何在 Android Studio Java 中将数组上传到 Firestore 数据

标签 java android arrays firebase google-cloud-firestore

我想上传这样的数据:

Image

编辑的问题

//I have ArrayList<FoodModel> arr;
ArrayList<FoodModel> arr = new ArrayList<>();
arr.add(new FoodModel("Hamburger"));
arr.add(new FoodModel("Pizza"));
arr.add(new FoodModel("Chicken"));
//and so on...

我想上传 ArrayList 到 firestore 这可能吗?

最佳答案

你只需要在 HashMap 中添加一个列表字段:

Map<String, Object> docData = new HashMap<>();
docData.put("favFoods", Arrays.asList("Hamburger", "Vegetables"));

db.collection("data").document("one")
        .set(docData)
        .addOnSuccessListener(new OnSuccessListener<Void>() {
            @Override
            public void onSuccess(Void aVoid) {
                Log.d(TAG, "DocumentSnapshot successfully written!");
            }
        })
        .addOnFailureListener(new OnFailureListener() {
            @Override
            public void onFailure(@NonNull Exception e) {
                Log.w(TAG, "Error writing document", e);
            }
        });

或者,您也可以使用 arrayUnion 向数组添加新项。

DocumentReference docRef = db.collection("col").document("docId");
docRef.update("favFoods", FieldValue.arrayUnion("Pizza"));

您可以在 Firestore 中添加对象数组(甚至嵌套映射)。但是,您应该将数组添加为列表。

引用资料:

关于java - 如何在 Android Studio Java 中将数组上传到 Firestore 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68916796/

相关文章:

java - 填充四边形

android - BroadcastReceivers 和内存使用

java - 解析 JSONObject 和 JSONArray 并在 ListView 中修复它们

javascript - JS 数组到对象的数组

c - 函数中返回文件/文件夹结构的指针

java - 使用 Retrofit GsonConverterFactory 反序列化 false 或对象的 json

java - 在java中将30天添加到日期

java - Eclipse 控制台窗口中的间歇性错误消息

Android - 设置 fragment ID

java - Google Play 游戏无法在 Android 中进行身份验证