Consultar una colección de Firestore
Organízate con las colecciones
Guarda y clasifica el contenido según tus preferencias.
Consultar una colección de Firestore
Investigar más
Para obtener documentación detallada que incluya este código de muestra, consulta lo siguiente:
Código de ejemplo
A menos que se indique lo contrario, el contenido de esta página está sujeto a la licencia Reconocimiento 4.0 de Creative Commons y las muestras de código están sujetas a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio web de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
[[["Es fácil de entender","easyToUnderstand","thumb-up"],["Me ofreció una solución al problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Es difícil de entender","hardToUnderstand","thumb-down"],["La información o el código de muestra no son correctos","incorrectInformationOrSampleCode","thumb-down"],["Me faltan las muestras o la información que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],[],[[["\u003cp\u003eThis page demonstrates how to query a Firestore collection for documents that meet specific criteria, using the example of finding cities where the "capital" field is true.\u003c/p\u003e\n"],["\u003cp\u003eThe code samples show how to retrieve and iterate over the query results, presenting the data from each matching document, such as displaying city data.\u003c/p\u003e\n"],["\u003cp\u003eThe code samples provided are available in C#, Go, Java, Node.js, PHP, Python, and Ruby, allowing for usage within many contexts.\u003c/p\u003e\n"],["\u003cp\u003eProper authentication is required, and the code samples all show that setting up Application Default Credentials is required for it to work.\u003c/p\u003e\n"]]],[],null,["# Query a Firestore collection\n\nExplore further\n---------------\n\n\nFor detailed documentation that includes this code sample, see the following:\n\n- [Get data with Cloud Firestore](https://firebase.google.com/docs/firestore/query-data/get-data)\n- [Getting data](/firestore/native/docs/query-data/get-data)\n- [Perform simple and compound queries in Cloud Firestore](https://firebase.google.com/docs/firestore/query-data/queries)\n- [Query and filter data](/firestore/native/docs/query-data/queries)\n\nCode sample\n-----------\n\n### C#\n\n\nTo authenticate to Firestore, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n Query capitalQuery = db.Collection(\"cities\").WhereEqualTo(\"Capital\", true);\n QuerySnapshot capitalQuerySnapshot = await capitalQuery.GetSnapshotAsync();\n foreach (DocumentSnapshot documentSnapshot in capitalQuerySnapshot.Documents)\n {\n Console.WriteLine(\"Document data for {0} document:\", documentSnapshot.Id);\n Dictionary\u003cstring, object\u003e city = documentSnapshot.ToDictionary();\n foreach (KeyValuePair\u003cstring, object\u003e pair in city)\n {\n Console.WriteLine(\"{0}: {1}\", pair.Key, pair.Value);\n }\n Console.WriteLine(\"\");\n }\n\n### Go\n\n\nTo authenticate to Firestore, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n\n import (\n \t\"context\"\n \t\"fmt\"\n\n \t\"cloud.google.com/go/firestore\"\n \t\"google.golang.org/api/iterator\"\n )\n\n func multipleDocs(ctx context.Context, client *firestore.Client) error {\n \tfmt.Println(\"All capital cities:\")\n \titer := client.Collection(\"cities\").https://cloud.google.com/go/docs/reference/cloud.google.com/go/firestore/latest/index.html#cloud_google_com_go_firestore_Query_Where(\"capital\", \"==\", true).Documents(ctx)\n \tfor {\n \t\tdoc, err := iter.Next()\n \t\tif err == iterator.Done {\n \t\t\tbreak\n \t\t}\n \t\tif err != nil {\n \t\t\treturn err\n \t\t}\n \t\tfmt.Println(doc.https://cloud.google.com/go/docs/reference/cloud.google.com/go/firestore/latest/index.html#cloud_google_com_go_firestore_DocumentSnapshot_Data())\n \t}\n \treturn nil\n }\n\n### Java\n\n\nTo authenticate to Firestore, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n // asynchronously retrieve multiple documents\n ApiFuture\u003cQuerySnapshot\u003e future = db.collection(\"cities\").whereEqualTo(\"capital\", true).get();\n // future.get() blocks on response\n List\u003cQueryDocumentSnapshot\u003e documents = future.get().getDocuments();\n for (DocumentSnapshot document : documents) {\n System.out.println(document.getId() + \" =\u003e \" + document.toObject(City.class));\n }\n\n### Node.js\n\n\nTo authenticate to Firestore, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n const citiesRef = db.collection('cities');\n const snapshot = await citiesRef.where('capital', '==', true).get();\n if (snapshot.empty) {\n console.log('No matching documents.');\n return;\n } \n\n snapshot.forEach(doc =\u003e {\n console.log(doc.id, '=\u003e', doc.data());\n });\n\n### PHP\n\n\nTo authenticate to Firestore, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n $citiesRef = $db-\u003ecollection('samples/php/cities');\n $query = $citiesRef-\u003ewhere('capital', '=', true);\n $documents = $query-\u003edocuments();\n foreach ($documents as $document) {\n if ($document-\u003eexists()) {\n printf('Document data for document %s:' . PHP_EOL, $document-\u003eid());\n print_r($document-\u003edata());\n printf(PHP_EOL);\n } else {\n printf('Document %s does not exist!' . PHP_EOL, $document-\u003eid());\n }\n }\n\n### Python\n\n\nTo authenticate to Firestore, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n # Note: Use of CollectionRef stream() is prefered to get()\n docs = (\n db.collection(\"cities\")\n .where(filter=FieldFilter(\"capital\", \"==\", True))\n .stream()\n )\n\n for doc in docs:\n print(f\"{doc.id} =\u003e {doc.to_dict()}\")\n\n### Ruby\n\n\nTo authenticate to Firestore, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n cities_ref = firestore.col collection_path\n\n query = cities_ref.where \"capital\", \"=\", true\n\n query.get do |city|\n puts \"#{city.document_id} data: #{city.data}.\"\n end\n\nWhat's next\n-----------\n\n\nTo search and filter code samples for other Google Cloud products, see the\n[Google Cloud sample browser](/docs/samples?product=firestore)."]]