<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/cloud-firestore-now-supports-in-queries--a9x4mp1bi" -->

---
title: Cloud Firestore Now Supports IN Queries! | daily.dev
description: Cloud Firestore added support for 'in' queries, letting developers query a single field for up to 10 possible values in one query, useful for simple OR-style...
canonical: https://daily.dev/posts/cloud-firestore-now-supports-in-queries--a9x4mp1bi
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Cloud Firestore Now Supports IN Queries! | daily.dev
og:description: Cloud Firestore added support for 'in' queries, letting developers query a single field for up to 10 possible values in one query, useful for simple OR-style...
og:url: https://daily.dev/posts/cloud-firestore-now-supports-in-queries--a9x4mp1bi
og:image: https://api.daily.dev/og/posts/a9X4MP1Bi.png
og:image:alt: Cloud Firestore Now Supports IN Queries!
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Cloud Firestore Now Supports IN Queries!

**[Firebase](https://daily.dev/sources/firebase-blog)** · 3 min read · 0 upvotes · 0 comments

## Summary

Cloud Firestore added support for 'in' queries, letting developers query a single field for up to 10 possible values in one query, useful for simple OR-style filtering (e.g., matching multiple order statuses). A related array-contains-any query lets you match documents whose array field contains any of several values, deduplicating results automatically. Both are available in client libraries and the Firebase console, with security rules evaluating each possible value individually (a query fails entirely if any value would be disallowed). Limitations include a max of 10 values and only one such operation per query.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://firebase.blog/posts/2019/11/cloud-firestore-now-supports-in-queries>

## Questions this post answers

### How do I query Cloud Firestore for documents where a field matches one of several values?

Use the 'in' query operator, which matches any document whose field equals one of up to 10 specified values in a single query. For example, db.collection('customer_orders').where('status', 'in', ['Ready to ship', 'Out for delivery', 'Completed']) retrieves orders in any of those statuses without needing separate queries or client-side merging.

_Developers wiring up Firestore queries can track feature rollouts like this via daily.dev._

### How does array-contains-any work in Cloud Firestore and how is it different from array-contains?

Array-contains-any lets you check whether an array field contains any of several specified values in a single query, whereas array-contains only checks for one value. For example, querying a products collection for items whose categories array includes 'Appliances' or 'Electronics' returns matching documents once each, even if they match multiple values.

_Teams comparing Firestore query options can follow updates like this on daily.dev._

### Why would a Firestore 'in' query fail even if some of the values are allowed by security rules?

Firestore evaluates security rules against every value passed into an 'in' or array-contains-any query, and if even one value would be disallowed, the entire query fails rather than returning only the allowed subset. For instance, querying status 'in' ['public', 'unlisted', 'secret'] fails entirely if 'secret' documents are restricted, since Firestore rules act as validators, not filters.

_Anyone debugging Firestore security rule failures can keep tabs on details like this via daily.dev._

## Similar posts on daily.dev

- [New Firestore query engine enables pipelines](https://daily.dev/posts/new-firestore-query-engine-enables-pipelines-qveysfcui) · Google Cloud · 0 upvotes · 0 comments
- [How Firestore Structures Data and How to Perform CRUD Operations With It](https://daily.dev/posts/how-firestore-structures-data-and-how-to-perform-crud-operations-with-it-odioykply) · freeCodeCamp · 1 upvotes · 0 comments
- [Firestore Adds Pipeline Operations with Over 100 New Query Features](https://daily.dev/posts/firestore-adds-pipeline-operations-with-over-100-new-query-features-dm1dqw0jf) · InfoQ · 0 upvotes · 0 comments
- [Prefer in? Over include? for Readable Conditions](https://daily.dev/posts/prefer-in-over-include-for-readable-conditions-ldj4ubs8e) · RUBYLAND · 0 upvotes · 0 comments

---

Tags: [#firebase](https://daily.dev/tags/firebase), [#nosql](https://daily.dev/tags/nosql), [#firestore](https://daily.dev/tags/firestore)

[View this post on daily.dev](https://daily.dev/posts/cloud-firestore-now-supports-in-queries--a9x4mp1bi)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Cloud Firestore Now Supports IN Queries!","url":"https://daily.dev/posts/cloud-firestore-now-supports-in-queries--a9x4mp1bi","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/cloud-firestore-now-supports-in-queries--a9x4mp1bi"},"datePublished":"2026-08-23T12:17:51.382Z","dateModified":"2026-08-23T12:25:53.642Z","description":"Cloud Firestore added support for 'in' queries, letting developers query a single field for up to 10 possible values in one query, useful for simple OR-style...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/7ed721de96163685d26ab7e314be3ebc?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/7ed721de96163685d26ab7e314be3ebc?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Firebase","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Firebase","logo":"https://media.daily.dev/image/upload/s--i395oqZH--/f_auto,q_auto/v1787487448/logos/firebase-blog?_a=BAMAMicg0","url":"https://daily.dev/sources/firebase-blog"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/cloud-firestore-now-supports-in-queries--a9x4mp1bi","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"firebase,nosql,firestore","timeRequired":"PT3M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Firebase","item":"https://daily.dev/sources/firebase-blog"},{"@type":"ListItem","position":3,"name":"Cloud Firestore Now Supports IN Queries!"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/cloud-firestore-now-supports-in-queries--a9x4mp1bi#faq","mainEntity":[{"@type":"Question","name":"How do I query Cloud Firestore for documents where a field matches one of several values?","acceptedAnswer":{"@type":"Answer","text":"Use the 'in' query operator, which matches any document whose field equals one of up to 10 specified values in a single query. For example, db.collection('customer_orders').where('status', 'in', ['Ready to ship', 'Out for delivery', 'Completed']) retrieves orders in any of those statuses without needing separate queries or client-side merging. Developers wiring up Firestore queries can track feature rollouts like this via daily.dev."}},{"@type":"Question","name":"How does array-contains-any work in Cloud Firestore and how is it different from array-contains?","acceptedAnswer":{"@type":"Answer","text":"Array-contains-any lets you check whether an array field contains any of several specified values in a single query, whereas array-contains only checks for one value. For example, querying a products collection for items whose categories array includes 'Appliances' or 'Electronics' returns matching documents once each, even if they match multiple values. Teams comparing Firestore query options can follow updates like this on daily.dev."}},{"@type":"Question","name":"Why would a Firestore 'in' query fail even if some of the values are allowed by security rules?","acceptedAnswer":{"@type":"Answer","text":"Firestore evaluates security rules against every value passed into an 'in' or array-contains-any query, and if even one value would be disallowed, the entire query fails rather than returning only the allowed subset. For instance, querying status 'in' ['public', 'unlisted', 'secret'] fails entirely if 'secret' documents are restricted, since Firestore rules act as validators, not filters. Anyone debugging Firestore security rule failures can keep tabs on details like this via daily.dev."}}]}
```

