@ Поле аннотации для хранения POJO в Firebase Firestore? - PullRequest
0 голосов
/ 11 июля 2019

У нас есть сложный JSON, имеющий несколько подобъектов внутри основного объекта.Например:

dept: {
   name: Dept1,
   emps: [
     {
        empCode: 001,
        empName: Emp001
     }
   ]
}

Если мы используем db.collection("dept").add(deptPojo), тогда он автоматически создает подколлекцию "emps" и автоматически назначает идентификатор документа для каждого объекта emp.Но мы хотим, чтобы empCode был назначен в качестве идентификатора документа для каждого документа emp.Это достижимо?Как?Есть ли какая-нибудь аннотация @Id в api firebase firestore?

Ответы [ 2 ]

0 голосов
/ 11 июля 2019

Извините, ребята, мой плохой!

У меня сложилось впечатление, что массив emp изнутри отдела dept в моем примере выше приведёт к созданию emp под-коллекции, в которой каждая запись в массиве будет автоматически генерироваться с идентификатором документа..

Но потом я понял, что ошибся в этом предположении.Поведение выглядит следующим образом.

Если у вас есть вложенные объекты (т. Е. Родительские объекты, имеющие поле типа List или Map. Тогда они сохраняются в виде массива в firestore вместо создания выделенной подколлекции.

Означает, что в случае сохранения объекта pojo, Firebase Doe не создает автоматически под-коллекции. Как показано на скриншоте здесь ... devices - это карта объектов устройства, но она хранится в виде массива.

Спасибо.

0 голосов
/ 11 июля 2019

В настоящее время нет способа указать идентификатор с помощью аннотации, но я считаю, что команда Firebase ищет решение для этого.

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