<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/firebase-now-with-more-querying--cqpcenxim" -->

---
title: Firebase: Now with more querying! | daily.dev
description: Firebase launched enhanced query support across its iOS, Android, Web clients, and REST API, letting developers order and retrieve data by child key, key name,...
canonical: https://daily.dev/posts/firebase-now-with-more-querying--cqpcenxim
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Firebase: Now with more querying! | daily.dev
og:description: Firebase launched enhanced query support across its iOS, Android, Web clients, and REST API, letting developers order and retrieve data by child key, key name,...
og:url: https://daily.dev/posts/firebase-now-with-more-querying--cqpcenxim
og:image: https://api.daily.dev/og/posts/CQpCenxim.png
og:image:alt: Firebase: Now with more querying!
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.

# Firebase: Now with more querying!

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

## Summary

Firebase launched enhanced query support across its iOS, Android, Web clients, and REST API, letting developers order and retrieve data by child key, key name, or priority. New methods include orderByChild(), orderByKey(), orderByPriority(), combined with limitToFirst(), limitToLast(), startAt(), endAt(), and equalTo() for complex realtime queries. A new indexOn rule was also introduced to the Security and Rules language to optimize query performance.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://firebase.blog/posts/2014/11/firebase-now-with-more-querying>

## Questions this post answers

### How do I query Firebase Realtime Database by a child key value?

Use the orderByChild() method, which can be combined with limitToFirst(), limitToLast(), startAt(), endAt(), and equalTo() for complex queries. For example, ref.orderByChild("height").startAt(3) retrieves all children with a height of at least 3. These queries work across iOS, Android, Web clients, and the REST API, and update in realtime as data changes.

_Developers building realtime features track database query capabilities like these on daily.dev._

### What does the indexOn rule do in Firebase Security Rules?

The indexOn rule tells Firebase which child keys an app uses in queries, so the database can index them for faster lookups. A node's key and priority are indexed automatically and don't need indexOn. It's optional and can be skipped during prototyping, but adding it once query patterns are finalized dramatically improves performance.

_Anyone tuning database query performance can follow updates like this on daily.dev._

---

Tags: [#javascript](https://daily.dev/tags/javascript), [#infrastructure](https://daily.dev/tags/infrastructure), [#android](https://daily.dev/tags/android), [#backend](https://daily.dev/tags/backend), [#firebase](https://daily.dev/tags/firebase)

[View this post on daily.dev](https://daily.dev/posts/firebase-now-with-more-querying--cqpcenxim)

```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":"Firebase: Now with more querying!","url":"https://daily.dev/posts/firebase-now-with-more-querying--cqpcenxim","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/firebase-now-with-more-querying--cqpcenxim"},"datePublished":"2026-08-23T12:20:36.071Z","dateModified":"2026-08-23T12:31:49.724Z","description":"Firebase launched enhanced query support across its iOS, Android, Web clients, and REST API, letting developers order and retrieve data by child key, key name,...","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/firebase-now-with-more-querying--cqpcenxim","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"javascript,infrastructure,android,backend,firebase","timeRequired":"PT4M"}
{"@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":"Firebase: Now with more querying!"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/firebase-now-with-more-querying--cqpcenxim#faq","mainEntity":[{"@type":"Question","name":"How do I query Firebase Realtime Database by a child key value?","acceptedAnswer":{"@type":"Answer","text":"Use the orderByChild() method, which can be combined with limitToFirst(), limitToLast(), startAt(), endAt(), and equalTo() for complex queries. For example, ref.orderByChild(\"height\").startAt(3) retrieves all children with a height of at least 3. These queries work across iOS, Android, Web clients, and the REST API, and update in realtime as data changes. Developers building realtime features track database query capabilities like these on daily.dev."}},{"@type":"Question","name":"What does the indexOn rule do in Firebase Security Rules?","acceptedAnswer":{"@type":"Answer","text":"The indexOn rule tells Firebase which child keys an app uses in queries, so the database can index them for faster lookups. A node's key and priority are indexed automatically and don't need indexOn. It's optional and can be skipped during prototyping, but adding it once query patterns are finalized dramatically improves performance. Anyone tuning database query performance can follow updates like this on daily.dev."}}]}
```

