Как добавить идентификатор документа в документ Firestore в Python - PullRequest
0 голосов
/ 16 февраля 2019

Я пытаюсь добавить идентификатор документа нового документа в firestore в сам объект, используя python, однако он сокращает строку при добавлении и фактически не добавляет тот же идентификатор.

Я напечаталID и он говорит, что это должно быть то же самое.Хотя в firestore все по-другому.

doc_ref = db.collection(u'prime_location').document()
        print('ID: ', doc_ref.id)
        docId = doc_ref.id

         # set object and push to firebase
        doc_ref.set({
                u'property_id': docId,
                u'property_address': address,
                u'number_of_beds': number_beds,
                u'number_of_baths': number_baths,
                u'property_rent': property_price,
                u'post_code': postcode,
                u'property_photo': property_image,
            })

Примером этого является то, что id документа: «aMqwOsjDbOuQmi8PZmot», но значение «property_id» выглядит так: «YU1xd09zak ...» Кто-нибудь знает, почемутакое поведение происходит?

enter image description here

1 Ответ

0 голосов
/ 17 февраля 2019

Это происходит потому, что вы генерируете случайный идентификатор дважды.

doc_ref = db.collection(u'prime_location').document()
        print('ID: ', doc_ref.id) //generates one id
        docId = doc_ref.id //generates the second id

Чтобы решить эту проблему, вы можете сгенерировать один идентификатор, вызвав doc_ref.id только один раз, как в следующих строках кода:

doc_ref = db.collection(u'prime_location').document()
        docId = doc_ref.id //generates id
        print('ID: ', docId) //print the generatd id

А затем в вашем коде просто используйте переменную docId и , а не doc_ref.id, которая будет генерировать другой идентификатор при каждом вызове.

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