Get all documents
Stay organized with collections
Save and categorize content based on your preferences.
Get all documents within a Firestore Collection
Explore further
For detailed documentation that includes this code sample, see the following:
Code sample
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],[],[[["\u003cp\u003eThis content demonstrates how to retrieve all documents within a Firestore collection using various programming languages.\u003c/p\u003e\n"],["\u003cp\u003eThe provided code samples show how to fetch all documents from the "cities" collection in Firestore using C#, Go, Java, Node.js, PHP, Python, and Ruby.\u003c/p\u003e\n"],["\u003cp\u003eEach code example also highlights the necessity of setting up Application Default Credentials for authentication to Firestore before accessing data.\u003c/p\u003e\n"],["\u003cp\u003eThe document contains links to further resources for users to explore about retrieving and querying data from Firestore.\u003c/p\u003e\n"]]],[],null,["# Get all documents within 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\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 allCitiesQuery = db.Collection(\"cities\");\n QuerySnapshot allCitiesQuerySnapshot = await allCitiesQuery.GetSnapshotAsync();\n foreach (DocumentSnapshot documentSnapshot in allCitiesQuerySnapshot.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 allDocs(ctx context.Context, client *firestore.Client) error {\n \tfmt.Println(\"All cities:\")\n \titer := client.Collection(\"cities\").Documents(ctx)\n \tdefer iter.Stop()\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 all documents\n ApiFuture\u003cQuerySnapshot\u003e future = db.collection(\"cities\").get();\n // future.get() blocks on response\n List\u003cQueryDocumentSnapshot\u003e documents = future.get().getDocuments();\n for (QueryDocumentSnapshot 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.get();\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 $documents = $citiesRef-\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 docs = db.collection(\"cities\").stream()\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 cities_ref.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)."]]