我正在嘗試從Cloud Firestore數(shù)據(jù)庫(kù)中檢索一組復(fù)雜的對(duì)象。這是我的課:public class Book { private String id; private String name; private String original; private ArrayList<Author> authors; private ArrayList<Translator> translators; private Series series; private Float no; private String seriesNo; private Integer published; private Borrower borrower; private Boolean isCollection; private Status status;}將此Book對(duì)象保存到數(shù)據(jù)庫(kù)的最佳方法是什么?我目前正在使用以下方法。public void createBook(String userId) { FirebaseFirestore firebaseFirestore = FirebaseFirestore.getInstance(); DocumentReference documentReference = firebaseFirestore.collection("books").document(); Map<String, Object> newBook = new HashMap<>(); newBook.put("owner", userId); newBook.put("id", documentReference.getId()); newBook.put("name", getName()); newBook.put("original", getOriginal()); if (getSeries() != null) { Map<String, Object> series = new HashMap<>(); series.put("id", getSeries().getId()); series.put("name", getSeries().getName()); newBook.put("series", series); } newBook.put("no", getNo()); newBook.put("seriesNo", getSeriesNo()); newBook.put("published", getPublished()); if (getBorrower() != null) { Map<String, Object> borrower = new HashMap<>(); borrower.put("id", getBorrower().getId()); borrower.put("nameInEnglish", getBorrower().getNameInEnglish()); borrower.put("nameInSinhalese", getBorrower().getNameInSinhalese()); borrower.put("mobile", getBorrower().getMobile()); newBook.put("borrower", borrower); } newBook.put("isCollection", getIsCollection()); newBook.put("status", getStatus().toString());從數(shù)據(jù)庫(kù)中檢索保存的值的最佳方法是什么?很難找到一種同時(shí)訪問(wèn)所有值的好方法。我目前使用以下方法來(lái)檢索除 Authors 和 Translators(它們是 ArrayLists)之外的值。
添加回答
舉報(bào)
0/150
提交
取消