автоматическое создание идентификатора для документа, а не для сбора в пожарном депо - PullRequest
0 голосов
/ 20 октября 2018

Я просмотрел документы в пожарном магазине, и мне еще предстоит найти пример, где у нас есть что-то вроде этого.

collection
       |--document
                |--{auto-generated-id}
                                  |--property1:value1
                                  |--property2:value2
                                  |--peoperty3:value3

Скорее я часто вижу:

collection     
         |--{auto-generated-id}
                            |--property1:value1
                            |--property2:value2
                            |--peoperty3:value3

В первом случае я не могу вызвать add() - (который генерирует уникальный идентификатор) для документа.Однако это можно сделать в коллекции, как показано на последнем скриншоте выше.

Мой вопрос таков: есть ли способ, которым firestore может помочь сгенерировать идентификатор после создания документа, т.е. как я могу добиться чего-то подобного:

db.collection("collection_name").document("document_name").add(object)

Ответы [ 2 ]

0 голосов
/ 20 октября 2018

Если вы используете метод CollectionReference add () , это означает, что он:

Добавляет новый документ в эту коллекцию с указанным POJO в качестве содержимого, назначая емуидентификатор документа автоматически.

Если вы хотите получить сгенерированный идентификатор документа и использовать его в качестве ссылки, используйте метод DocumentReference set () :

Перезаписывает документ, на который ссылается этот DocumentRefere

Как в следующих строках кода:

String id = db.collection("collection_name").document().getId();
db.collection("collection_name").document(id).set(object);
0 голосов
/ 20 октября 2018

Поскольку вы уже знаете идентификатор документа, просто наберите set() вместо add().Он создаст документ, если он еще не существует.

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