Firestore更新对象列表

时间:2017-10-21 15:24:12

标签: java android google-cloud-firestore

我正在尝试使用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更新对象列表?

1 个答案:

答案 0 :(得分:0)

首先,由于documented更新不接受List

此外,documented您可以使用{{{3}}作为包含set()update()delete()操作的任意组合的单个批处理执行多个写操作{1}}。