0
votes

Comment interroger le DB Firestore correctement en Python

J'ai essayé de multiples façons d'utiliser. Ouvert () avec Firestore, à la fin, je viens de passer. Aucune autre chose () et utilisée () alors si / elet affichez des instructions pour vérifier les données. Avec JavaScript, il est assez simple. Python Les docs ne sont pas faciles à comprendre. XXX PRE>

Aucun de ces travaux correctement, je reçois une réponse, mais je ne peux pas vérifier quoi que ce soit sur cet objet. Quelles méthodes peuvent être utilisées sur .her () et comment est-il utilisé correctement? P>

doc_reffer = db.collection(u'test')
emails = doc_reffer.where(u'adminEmail', u'==', 'x@x.com')
    return str(emails)


2 commentaires

Avez-vous lu ce doc github.com/googlecloudplatform/python-docs-samples/blob/... ?


J'ai lu ça, mais cela a mal joué avec du ballon


3 Réponses :


2
votes

Utilisez le .stream () méthode sur exécuter la requête : xxx

Notez que flux () renvoie un itérateur et ne récupère pas les documents avant de commencer à itération des résultats .

Vous pouvez chercher tous les documents et les mettre dans un dict comme celui-ci: xxx


2 commentaires

Merci. Y a-t-il un moyen de. Où que ce soit sur le nom ou l'identifiant du document? Alors recherchez un nom de document? Je sais que je peux utiliser doc.id. Donc .where () Nom du document == 'Nom'


Référence pour instantané de document.



0
votes

Utilisation de Juan Laras Répondre, j'ai pu obtenir avec succès tous les documents au sein d'une collection où cet email d'administration existerait. C'est ce que je voulais réaliser. Il n'y a pas à peu près pas de documentation (documents simples) que je pouvais trouver pour cela. xxx


0 commentaires

0
votes

Les autres réponses semblent correctes. Vous avez mentionné que les documents ne sont pas faciles à comprendre avec les bibliothèques des clients Python. C'est l'un des problèmes que j'essaie de résoudre avec Flask-chaudière . Avec le flacon-chaudière, vous pourrez interroger vos objets comme celui-ci:

emails = [x for x in Test.where(admin_email='x@x.com')]
for email in emails:
    print(u'{} => {}'.format(email.doc_id, email.to_dict()))


0 commentaires