【发布时间】:2018-04-02 13:16:30
【问题描述】:
我正在尝试使用 Firestore。
我有一个集合组,其中包含用户列表
public class User {
private String mail;
private String username;
public User() {
}
public User(String mail, String username) {
this.mail = mail;
this.username = username;
}
public String getMail() {
return mail;
}
public String getUsername() {
return username;
}
}
我想更新这个列表,所以我试过了:
List<User> list = new ArrayList<>();
list.add(new User("mail@gmail.com", "foo"));
reference.update("users", list)
.addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
Log.d(TAG, "DocumentSnapshot successfully updated!");
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.w(TAG, "Error updating document", e);
}
});
}
但我有一个例外:
java.lang.IllegalArgumentException:无效数据。不支持的类型:my.package.name.models.User
如何使用 Firestore 更新对象列表?
【问题讨论】:
-
您无法对 Firestore 中的数组字段执行列表操作(任何语言)。您必须读取数组,在本地对其进行修改,然后将数组写回。
标签: java android google-cloud-firestore