Управление данными Google Cloud Firestore в python - PullRequest
1 голос
/ 04 октября 2019

Я пытаюсь прочитать определенное поле данных в Google Cloud Firestore, используя python.

В моей базе данных Firestore есть коллекция «Продукты», и я вручную добавил несколько документов с различными полями.

Пока я могу получить документ, используя:

docs = db.collection(u'Products').where(u'checked', u'==', False).stream()
for doc in docs:
        print(u'{} => {}'.format(doc.id, doc.to_dict()))

Это работает, и я получаю следующий вывод:

Test2 => {'link': 'https://stackoverflow.com',' price ': 14,' checked ': False}

Однако я не могу извлечь отдельную строку 'link' из этого сообщения. Я попытался:

print(doc.to_dict('link'))

и несколько итераций этого и получил следующий вывод:

to_dict () принимает 1 позиционный аргумент, но 2 были даны

Я следовал документации по firebase здесь , но не нашел примеров печати полей.

Любые советы о том, как напечатать строку 'link' из запроса I

Я использую Python 3.7.

Заранее благодарен за помощь.

1 Ответ

0 голосов
/ 04 октября 2019

to_dict возвращает dict, поэтому ваш код должен выглядеть примерно так:

print(doc.to_dict()['link'])

вместо прямой передачи параметра.

В качестве альтернативы, поскольку вам нужно только одно поле, которое вы можете попробовать:

print(doc.get('link'))

Как избежать создания копии всего снимка.

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