Querying Firestore collections with one range
Stay organized with collections
Save and categorize content based on your preferences.
Querying Firestore collections with one range
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 page demonstrates how to query Firestore collections using a single range for filtering data.\u003c/p\u003e\n"],["\u003cp\u003eThe examples showcase filtering by equality, greater than, less than, and greater than or equal to operators across different programming languages like C#, Go, Java, Node.js, PHP, Python, and Ruby.\u003c/p\u003e\n"],["\u003cp\u003eAuthentication to Firestore is achieved by setting up Application Default Credentials, which is a common step across all provided code samples.\u003c/p\u003e\n"],["\u003cp\u003eThe examples showcase the usage of \u003ccode\u003eWhereEqualTo\u003c/code\u003e, \u003ccode\u003eWhereGreaterThan\u003c/code\u003e, \u003ccode\u003eWhereLessThan\u003c/code\u003e and \u003ccode\u003eWhereGreaterThanOrEqualTo\u003c/code\u003e or equivalent filter methods to filter document results.\u003c/p\u003e\n"],["\u003cp\u003eLinks to further documentation are provided to help users perform simple and compound queries in Cloud Firestore.\u003c/p\u003e\n"]]],[],null,["# Querying Firestore collections with one range\n\nExplore further\n---------------\n\n\nFor detailed documentation that includes this code sample, see the following:\n\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 CollectionReference citiesRef = db.Collection(\"cities\");\n Query stateQuery = citiesRef.WhereEqualTo(\"State\", \"CA\");\n Query populationQuery = citiesRef.WhereGreaterThan(\"Population\", 1000000);\n Query nameQuery = citiesRef.WhereGreaterThanOrEqualTo(\"Name\", \"San Francisco\");\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 countryQuery := cities.Where(\"state\", \"==\", \"CA\")\n popQuery := cities.Where(\"population\", \"\u003c\", 1000000)\n cityQuery := cities.Where(\"name\", \"\u003e=\", \"San Francisco\")\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 Query stateQuery = cities.whereEqualTo(\"state\", \"CA\");\n Query populationQuery = cities.whereLessThan(\"population\", 1000000L);\n Query nameQuery = cities.whereGreaterThanOrEqualTo(\"name\", \"San Francisco\");\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 stateQueryRes = await citiesRef.where('state', '==', 'CA').get();\n const populationQueryRes = await citiesRef.where('population', '\u003c', 1000000).get();\n const nameQueryRes = await citiesRef.where('name', '\u003e=', 'San Francisco').get();\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 $stateQuery = $citiesRef-\u003ewhere('state', '=', 'CA');\n $populationQuery = $citiesRef-\u003ewhere('population', '\u003e', 1000000);\n $nameQuery = $citiesRef-\u003ewhere('name', '\u003e=', 'San Francisco');\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 cities_ref = db.collection(\"cities\")\n\n cities_ref.where(filter=FieldFilter(\"state\", \"==\", \"CA\"))\n cities_ref.where(filter=FieldFilter(\"population\", \"\u003c\", 1000000))\n cities_ref.where(filter=FieldFilter(\"name\", \"\u003e=\", \"San Francisco\"))\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 state_query = cities_ref.where \"state\", \"=\", \"CA\"\n population_query = cities_ref.where \"population\", \"\u003e\", 1_000_000\n name_query = cities_ref.where \"name\", \"\u003e=\", \"San Francisco\"\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)."]]