Как получить документы из подколлекции в firestore, используя данные Spring - PullRequest
2 голосов
/ 27 мая 2020

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

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

My 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 (ny c) возвращает апартаменты как null. Я хочу заполнить подколлекцию также в объекте города.

Привет, Dmirty,

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

Результат данного примера: enter image description here

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

enter image description here

1 Ответ

0 голосов
/ 02 июня 2020

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...