Ошибка при добавлении документов в хранилище с помощью метода add () - PullRequest
0 голосов
/ 25 сентября 2019

Я пытаюсь добавить документы в хранилище, используя метод add().Согласно документации метод add() генерирует уникальный идентификатор для каждого документа и сохраняет его в произвольном порядке, а для его упорядоченного хранения нам необходимо поле timestamp в документе.Вот как я это делаю:

def add_data(message):
  message.update({u'timestamp': firestore.SERVER_TIMESTAMP})
  coll_ref.add(message)

Когда я выполняю описанный выше метод, я получаю сообщение об ошибке:

TypeError: ('Cannot convert to a Firestore Value', <object object at 0x104fdebe0>, 'Invalid type', <class 'object'>)

Почему яполучить эту ошибку?Есть ли ошибка в firestore Python SDK, если да, то для этой проблемы был выпущен какой-либо патч?

1 Ответ

1 голос
/ 25 сентября 2019

Следующее работало для меня с последней версией Python Admin SDK (проверено в REPL).

>>> import firebase_admin
>>> from firebase_admin import firestore
>>> firebase_admin.initialize_app()
<firebase_admin.App object at 0x1080c33d0>
>>> client = firestore.client()
>>> msg = {'timestamp': firestore.SERVER_TIMESTAMP}
>>> foo = client.collection('foo')
>>> foo.add(msg)
(seconds: 1569404958
nanos: 428866000
, <google.cloud.firestore_v1.document.DocumentReference object at 0x108dfc610>)

Используется версия 1.4.0 google-cloud-firestore внизу.Проверьте версии своей библиотеки, импорт и т. Д.

...