2017-10-21 108 views
1

我正在尝试使用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("[email protected]", "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更新对象列表?

回答

0

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

此外,documented在这里,你可以执行多个写操作为包含set()update(),或delete()操作的任何组合,使用WriteBatch一个批次。