Как получить документы из подколлекции в firestore, используя данные Spring

Как получить документы из подколлекции с помощью Spring FirestoreReactiveRepository?

Спросите: как можно динамически присвоить имя или путь подколлекции аннотации @Document?

Моя коллекция firestore: (города - это коллекция первого уровня, а квартиры - часть этой коллекции)

cities - nyc (id)- |- name: New York City
                   |- country: USA
                   └ apartments - part_avenue (document id)
                                ├ name: Park Avenue
                                └ zip: 10022
                                - plaza (document id)
                                ├ name: Plaza Riverhouse 
                                └ zip: 10132

Городской POJO - это

@Document(collectionName = "cities")
public class City {

  @DocumentId
  private String id;
  private String name;
  private String country;
  private List<Apartment> apartments;
}

Квартира POJO - это:

@Document(collectionName = "apartments")
public class Apartment {

  @DocumentId
  private String id;
  private String name;
  private Integer zip;
}

CityRepository, который извлекает данные из коллекции городов

public interface CityRepository extends FirestoreReactiveRepository<City> {

}

При вызове findById (nyc) возвращает апартаменты как null. Я хочу также заполнить подколлекцию в городском объекте.

Привет, Дмитрий,

В данном примере домашние животные хранятся как часть пользовательского объекта (коллекции), но я хочу хранить домашних животных в отдельной подколлекции под пользовательской коллекцией.

Результат данного примера:  введите описание изображения здесь

Фактический вопрос в том, что домашние животные должны быть подколлекцией, как показано ниже: Итак, было бы полезно, если бы вы могли предоставить пример для хранения домашних животных как подколлекцию, а затем как ее получить.

введите здесь описание изображения


person piyush garg    schedule 27.05.2020    source источник


Ответы (1)


Это должно сработать. Взгляните на этот sample - делает нечто подобное. Вы можете запустить его и посмотреть, работает ли он для вас (он определенно работает для меня).

Одна потенциальная проблема - не хватает ли вам публичных сеттеров в вашем классе City? Они необходимы для правильной работы конвертации.

Если это не поможет, не могли бы вы создать минимальное приложение, которое воспроизводит проблему (может быть, на github), чтобы я мог рассмотреть его поближе?

person Dmitry S    schedule 02.06.2020
comment
В данном примере домашние животные являются частью пользовательской коллекции, а в моем случае домашние животные являются частью пользовательской коллекции. Я предоставил снимок экрана в комментарии ниже. - person piyush garg; 02.06.2020