Query a Firestore collection with an in array filter
Stay organized with collections
Save and categorize content based on your preferences.
Query a Firestore collection with an in array filter
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 a Firestore collection using an "in" array filter across multiple programming languages.\u003c/p\u003e\n"],["\u003cp\u003eThe code samples show how to filter a "cities" collection to find documents where the "regions" field matches either "west_coast" or "east_coast".\u003c/p\u003e\n"],["\u003cp\u003eEach code example highlights the use of \u003ccode\u003ewhereIn\u003c/code\u003e or its equivalent method for performing the in-array filter operation on the "regions" field in languages like C#, Go, Java, Node.js, PHP, Python, and Ruby.\u003c/p\u003e\n"],["\u003cp\u003eTo authenticate and run the provided code, you must set up Application Default Credentials as detailed in the linked documentation.\u003c/p\u003e\n"],["\u003cp\u003eThe provided links contain more detailed documentation about querying Firestore and filtering data, including how to perform these operations.\u003c/p\u003e\n"]]],[],null,["# Query a Firestore collection with an in array filter\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 query = citiesRef.WhereIn(\"Regions\",\n new[] { new[] { \"west_coast\" }, new[] { \"east_coast\" } });\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 cities := client.Collection(\"cities\")\n query := cities.Where(\"regions\", \"in\", [][]string{{\"west_coast\"}, {\"east_coast\"}}).Documents(ctx)\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 CollectionReference citiesRef = db.collection(\"cities\");\n\n Query query =\n citiesRef.whereIn(\n \"regions\", Arrays.asList(Arrays.asList(\"west_coast\"), Arrays.asList(\"east_coast\")));\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 exactlyOneCoast = await citiesRef.where('regions', 'in',\n [['west_coast', 'east_coast']]).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 $rangeQuery = $citiesRef-\u003ewhere('regions', 'in', [['west_coast'], ['east_coast']]);\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 query = cities_ref.where(\n filter=FieldFilter(\"regions\", \"in\", [[\"west_coast\"], [\"east_coast\"]])\n )\n return query\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 exactly_one_cost = cities_ref.where \"regions\", \"in\", [[\"west_coast\"], [\"east_coast\"]]\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)."]]