À propos du délai d'expiration de Firestore

Contexte

Utilisez-vous Firebase, tout le monde? C'est très pratique car il possède toutes les fonctions dont vous avez besoin pour créer une application simple. Je pense aussi que c'est un très bon service, mais il y a des spécifications qui ne seront peut-être pas remarquées si vous jetez un coup d'œil au document officiel, et je voudrais le partager cette fois.

problème

Regardez le code ci-dessous. Code pour obtenir tous les documents de la collection.

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

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

Source: Document officiel

Alors, que se passe-t-il si vous modifiez ce code comme ci-dessous?

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

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

Si vous essayez de l'exécuter de cette manière, vous pouvez voir que seul le premier est sorti.

Solution

Si le contenu du document à acquérir est petit et le montant moins important, par exemple, vous pouvez acquérir tous les documents une fois comme suit.

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)

Vous voudrez peut-être obtenir une énorme collection. Dans ce cas, veuillez vous référer au lien ci-dessous et utiliser le curseur de requête. question de débordement de pile Documentation officielle sur les curseurs de requête

finalement

J'ai recherché des documents japonais tels que des articles Qiita qui décrivent ce sujet, mais il n'y a eu aucun résultat ...: pleurer: (au 2 février 2020) Je pense que cela peut être critique en fonction du type d'application, donc j'espère que cela aidera ceux qui envisagent d'étudier Firebase ou qui pourraient l'utiliser dans la pratique.

Recommended Posts

À propos du délai d'expiration de Firestore
À propos de LangID
À propos de CAGR
À propos de virtiofs
À propos de python-apt
À propos de l'autorisation
À propos de sklearn.preprocessing.Imputer
À propos de Gunicorn
À propos des paramètres régionaux
À propos de l'axe = 0, axe = 1
À propos de l'importation
À propos de numpy
À propos de pip
À propos de Linux
À propos de numpy.newaxis
À propos d'Endian
À propos de Linux
À propos de l'importation
À propos de Linux
À propos de Linux
À propos de cv2.imread
À propos de _ et __
À propos de wxPython