我想上传这样的数据:
编辑的问题
//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/