[PYTHON] Informationen zum Firestore-Timeout

Hintergrund

Verwenden Sie Firebase, alle? Es ist sehr praktisch, da es alle Funktionen bietet, die Sie zum Erstellen einer einfachen Anwendung benötigen. Ich denke auch, dass es ein sehr netter Service ist, aber es gibt Spezifikationen, die möglicherweise nicht bemerkt werden, wenn Sie einen Blick auf das offizielle Dokument werfen, und ich möchte es diesmal teilen.

Problem

Schauen Sie sich den Code unten an. Code zum Abrufen aller Dokumente in der Sammlung.

docs = db.collection(u'cities').stream()

for doc in docs:
    print(u'{} => {}'.format(doc.id, doc.to_dict()))

Quelle: Offizielles Dokument

Was passiert also, wenn Sie diesen Code wie folgt ändern?

docs = db.collection(u'cities').stream()

for doc in docs:
    #nanka omoi syori
    time.sleep(100)
    print(u'{} => {}'.format(doc.id, doc.to_dict()))

Wenn Sie versuchen, es auf diese Weise auszuführen, können Sie sehen, dass nur das erste ausgegeben wird.

Lösung

Wenn der Inhalt des zu erfassenden Dokuments klein und der Betrag beispielsweise nicht so groß ist, können Sie alle Dokumente wie folgt einmal erwerben.

docs = [doc.id for doc in db.collection(u'cities').stream()]

for doc_id in docs:
    #nanka omoi syori
    time.sleep(100)
    print(doc_id)

Vielleicht möchten Sie eine riesige Sammlung erhalten. In diesem Fall verweisen Sie bitte auf den folgenden Link und verwenden Sie den Abfragecursor. Frage zum Stapelüberlauf Offizielle Dokumentation zu Abfragecursorn

Schließlich

Ich habe nach japanischen Materialien wie Qiita-Artikeln gesucht, die diese Angelegenheit beschreiben, aber es gab überhaupt keine Treffer ...: cry: (Stand: 2. Februar 2020) Ich denke, dass dies je nach Art der Anwendung kritisch sein kann, und ich hoffe, dass es denjenigen hilft, die über das Studium von Firebase nachdenken oder es in der Praxis verwenden.

Recommended Posts

Informationen zum Firestore-Timeout
Über LangID
Über CAGR
Über Tugenden
Über Python-Apt
Über die Erlaubnis
Über sklearn.preprocessing.Imputer
Über Gunicorn
Über das Gebietsschema
Über Achse = 0, Achse = 1
Über den Import
Über Numpy
Über pip
Über Linux
Über numpy.newaxis
Über Endian
Über Linux
Über den Import
Über Linux
Über Linux
Über cv2.imread
Über _ und __
Über wxPython