2017-10-21 112 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一個批次。