Data Browsing Guide

Core Feature

Master the art of searching, filtering, and exploring your Firestore documents with advanced browsing capabilities.

What You'll Learn

• Advanced search techniques

• Filtering and sorting options

• Pagination strategies

• Data type formatting

• Performance optimization

• Best practices for large datasets

Getting Started with Data Browsing

1

Access the Data Browser

There are two ways to access the data browsing interface:

From Schema View: Click "View Records" button next to any collection

Direct Access: Navigate to /projects/[projectId]/collections

2

Understanding the Interface

The data browsing interface consists of several key components:

Search Controls

• Field selector dropdown

• Search input with fuzzy matching

• Clear/reset button

Sort & Pagination

• Sort field and direction controls

• Page size selector (10-100 records)

• Load more / pagination buttons

3

Browse Your Data

Documents are displayed as individual cards showing:

Document ID: Unique identifier in monospace font

Document Path: Full Firestore path to the document

Field Data: All document fields with proper type formatting

Example Document Display
Document ID: user_12345
Path: /users/user_12345

Fields:
• email: "john.doe@example.com" (string)
• firstName: "John" (string)
• lastName: "Doe" (string)
• createdAt: "2024-01-15T10:30:00Z" (timestamp)
• isActive: true (boolean)
• profile: { avatar: "https://...", bio: "..." } (object)

Search Features

Fuzzy Search
Partial text matching across any field
How it works:

Search finds partial matches within field values, case-insensitive.

Examples:

• Search "john" finds "John Doe", "Johnson", "johnny@email.com"

• Search "gmail" finds all Gmail email addresses

• Search "2024" finds dates and IDs containing "2024"

Field Selection
Target specific fields for more precise results
Available fields:

Dropdown populated with all fields found in the collection.

Field types supported:

• String fields (names, emails, descriptions)

• Number fields (IDs, ages, prices)

• All searchable Firestore types

Sorting & Pagination

Firestore-Native Sorting
How it works:

Uses Firestore's orderBy() for database-level sorting, ensuring efficient performance and proper pagination.

Supported directions:

Ascending: A → Z, 0 → 9, oldest → newest

Descending: Z → A, 9 → 0, newest → oldest

Data type handling:

• Strings: Alphabetical order

• Numbers: Numerical order

• Timestamps: Chronological order

• Booleans: false before true

Cursor-Based Pagination
How it works:

Uses Firestore's startAfter() with document cursors for efficient pagination through large datasets.

Page size options:

• 10 records (fastest loading)

• 25 records (balanced)

• 50 records (more data per page)

• 100 records (maximum, slower on mobile)

Performance benefits:

• Consistent performance regardless of collection size

• Efficient memory usage

• Real-time data consistency

Data Type Formatting

Firebase Schema Viewer automatically formats different Firestore data types for optimal readability:

Basic Types
String:"Hello World"
Number:42
Boolean:true
Null:null
Firestore-Specific Types
Timestamp:2024-01-15T10:30:00Z
GeoPoint:37.7749, -122.4194
Reference:/users/user123
Array:[item1, item2, ...]
Complex Object Display
Nested object formatting example
profile: {
  personal: {
    firstName: "John",
    lastName: "Doe",
    dateOfBirth: "1990-05-15T00:00:00Z"
  },
  preferences: {
    theme: "dark",
    notifications: true,
    language: "en"
  },
  social: {
    twitter: "@johndoe",
    linkedin: "linkedin.com/in/johndoe"
  }
}

Performance Tips

Optimization Strategies

Page Size: Start with 25 records, increase if needed

Sorting: Use indexed fields for faster sorting

Search: Be specific with field selection

Navigation: Use "Load More" rather than large page sizes

Large Dataset Strategies

Filter Early: Use search to narrow results

Sort Strategically: Choose meaningful sort orders

Monitor Performance: Watch for slow loading indicators

Index Management: Create composite indexes as needed

Common Use Cases

Debugging Data Issues

Quickly find and examine problematic documents in your database.

• Search for specific user IDs or email addresses

• Filter by date ranges to find recent changes

• Look for null or missing values in required fields

• Examine data type inconsistencies across documents

Data Analysis & Insights

Explore patterns and trends in your application data.

• Sort by creation date to see usage patterns

• Search for feature flags or configuration values

• Examine user behavior through activity logs

• Validate data migrations and transformations

Customer Support

Quickly look up customer information and resolve support issues.

• Search by customer email or ID

• Review order history and transaction details

• Check account status and preferences

• Verify data consistency across related collections

Troubleshooting Common Issues

"Search returns no results"

Possible causes:

  • Search term doesn't exist in the selected field
  • Case sensitivity (though search is case-insensitive)
  • Selected field doesn't contain text data

Solutions: Try different fields, check spelling, or browse without search first.

"Sorting requires an index error"

Cause: Firestore needs a composite index for the sort operation.

Solution: Click the provided link in the error message to create the index automatically.

"Pages load slowly"

Causes: Large documents, high page size, or complex queries.

Solutions: Reduce page size, sort by indexed fields, or use more specific searches.

Try Data Browsing
Experience data browsing with your own Firebase project or sample data.
Try Demo

• Practice searching with different field types

• Try various page sizes and sort orders

• Explore complex nested objects

• Test performance with different collection sizes

Next Steps

Now that you've mastered data browsing, explore advanced features:

AI Relationship Discovery

Use AI to discover hidden connections between your collections.

Explore AI Features →

Troubleshooting

Get help with common issues and error messages.

View Troubleshooting →