Bird
Raised Fist0
Firebasecloud~10 mins

Comparison operators (==, <, >, >=, <=) in Firebase - Step-by-Step Execution

Choose your learning style10 modes available
Process Flow - Comparison operators (==, <, >, >=, <=)
Start Comparison
↓
Evaluate Left Value
↓
Evaluate Right Value
↓
Apply Operator (==, <, >, >=, <=)
↓
Result: True or False
↓
Use Result in Query or Condition
Comparison operators check two values and return true or false, which helps decide what data to fetch or actions to take.
Execution Sample
Firebase
db.collection('users').where('age', '>=', 18).get()
This query fetches users whose age is 18 or older using the '>=' comparison operator.
Process Table
StepLeft ValueOperatorRight ValueEvaluationResult
1age field value (e.g., 20)>=1820 >= 18True
2age field value (e.g., 16)>=1816 >= 18False
3age field value (e.g., 18)==1818 == 18True
4age field value (e.g., 17)<1817 < 18True
5age field value (e.g., 19)<=1819 <= 18False
6Query applies filter only to documents where result is True
💡 Comparison stops after evaluating each document's field against the operator and value.
Status Tracker
VariableStartAfter Eval 1After Eval 2After Eval 3After Eval 4After Eval 5Final
age field valuevaries per document2016181719varies per document
Key Moments - 3 Insights
Why does 'age >= 18' return false for some users?
Because the user's age is less than 18, as shown in execution_table row 2 where 16 >= 18 evaluates to false.
Is '==' the same as '>=' or '<='?
'==' checks if values are exactly equal, while '>=' and '<=' check if values are greater or equal, or less or equal respectively, as shown in rows 3 and 1.
What happens if the field value is missing?
The comparison usually returns false because there is no value to compare, so the document is excluded from results.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what is the result of evaluating age = 17 with operator '<' and right value 18?
AError
BTrue
CFalse
DUndefined
💡 Hint
Check row 4 in the execution_table where 17 < 18 is evaluated.
At which step does the comparison 'age == 18' return true?
AStep 3
BStep 1
CStep 5
DStep 2
💡 Hint
Look at the operator and result columns in execution_table row 3.
If a user's age is 19, what is the result of 'age <= 18' comparison?
ATrue only if age is 18
BTrue
CFalse
DCannot determine
💡 Hint
Refer to execution_table row 5 where 19 <= 18 is evaluated.
Concept Snapshot
Comparison operators check two values and return true or false.
Operators: == (equal), < (less than), > (greater than), >= (greater or equal), <= (less or equal).
Used in Firebase queries to filter data.
Example: where('age', '>=', 18) fetches users 18 or older.
If comparison is false, document is excluded from results.
Full Transcript
Comparison operators in Firebase compare two values and return true or false. These operators include equal (==), less than (<), greater than (>), greater or equal (>=), and less or equal (<=). When you write a query like where('age', '>=', 18), Firebase checks each document's age field. If the age is 18 or more, the comparison returns true and the document is included. If not, it returns false and the document is excluded. This process repeats for each document in the collection. Understanding these operators helps you filter data effectively in Firebase.

Practice

(1/5)
1. Which comparison operator in Firebase queries checks if a field value is exactly equal to a given value?
easy
A. ==
B. <
C. >=
D. <=

Solution

  1. Step 1: Understand the purpose of each operator

    The operator == checks for exact equality, while <, >=, and <= check for less than, greater or equal, and less or equal respectively.
  2. Step 2: Identify the operator for exact equality

    Since the question asks for exact equality, the correct operator is ==.
  3. Final Answer:

    == -> Option A
  4. Quick Check:

    Exact equality operator = == [OK]
Hint: Use == to check if values are exactly the same [OK]
Common Mistakes:
  • Confusing == with assignment operator =
  • Using < or > for equality checks
  • Thinking >= means equal only
2. Which of the following is the correct Firebase query syntax to find documents where the field age is greater than 18?
easy
A. query.where('age', '==', 18)
B. query.where('age', '<', 18)
C. query.where('age', '>=', 18)
D. query.where('age', '>', 18)

Solution

  1. Step 1: Identify the operator for 'greater than'

    The operator for 'greater than' is >.
  2. Step 2: Match the operator with the correct syntax

    The correct syntax uses query.where('age', '>', 18) to filter documents where age is greater than 18.
  3. Final Answer:

    query.where('age', '>', 18) -> Option D
  4. Quick Check:

    Greater than operator = > [OK]
Hint: Use '>' for values strictly greater than target [OK]
Common Mistakes:
  • Using '==' instead of '>'
  • Confusing '>=' with '>'
  • Using '<' when wanting greater values
3. Given this Firebase query: query.where('score', '>=', 50).where('score', '<', 70), which scores will be included in the results?
medium
A. Scores greater than or equal to 50 and less than 70
B. Scores greater than 50 and less than or equal to 70
C. Scores equal to 50 or equal to 70
D. Scores equal to 50 and less than 70

Solution

  1. Step 1: Analyze the first condition

    The first condition score >= 50 includes scores 50 and above.
  2. Step 2: Analyze the second condition

    The second condition score < 70 includes scores less than 70, excluding 70 itself.
  3. Step 3: Combine both conditions

    Only scores that satisfy both conditions are included: scores greater than or equal to 50 and less than 70.
  4. Final Answer:

    Scores greater than or equal to 50 and less than 70 -> Option A
  5. Quick Check:

    Range includes 50 ≤ score < 70 [OK]
Hint: Combine >= and < for range queries [OK]
Common Mistakes:
  • Including 70 when using '<' operator
  • Confusing '>' with '>='
  • Thinking 'or' instead of 'and' between conditions
4. You wrote this Firebase query: query.where('price', '=>', 100). Why does it cause an error?
medium
A. Because 'price' field cannot be compared
B. Because 100 should be a string, not a number
C. Because '=>' is not a valid comparison operator in Firebase queries
D. Because the operator should be '<=' instead

Solution

  1. Step 1: Check the operator syntax

    The operator '=>' is not a valid Firebase comparison operator. The correct operator for 'greater than or equal' is '>='.
  2. Step 2: Understand Firebase operator rules

    Firebase only supports specific operators: ==, <, >, <=, and >=. Using any other operator causes a syntax error.
  3. Final Answer:

    '=>' is invalid operator causing error -> Option C
  4. Quick Check:

    Use >=, not => for greater or equal [OK]
Hint: Use >=, not => for greater or equal [OK]
Common Mistakes:
  • Typing => instead of >=
  • Using strings instead of numbers for numeric fields
  • Assuming all operators are valid
5. You want to query Firebase documents where the field temperature is between 20 and 30 inclusive. Which query correctly uses comparison operators to achieve this?
hard
A. query.where('temperature', '>', 20).where('temperature', '<', 30)
B. query.where('temperature', '>=', 20).where('temperature', '<=', 30)
C. query.where('temperature', '==', 20).where('temperature', '==', 30)
D. query.where('temperature', '<=', 20).where('temperature', '>=', 30)

Solution

  1. Step 1: Understand inclusive range requirements

    Inclusive means including both 20 and 30 values.
  2. Step 2: Choose operators that include boundary values

    >= includes 20 and <= includes 30, so these operators match the requirement.
  3. Step 3: Verify the combined query

    The query query.where('temperature', '>=', 20).where('temperature', '<=', 30) correctly filters temperatures from 20 to 30 inclusive.
  4. Final Answer:

    query.where('temperature', '>=', 20).where('temperature', '<=', 30) -> Option B
  5. Quick Check:

    Inclusive range uses >= and <= [OK]
Hint: Use >= and <= for inclusive ranges [OK]
Common Mistakes:
  • Using > and < excludes boundary values
  • Using == twice filters only exact matches
  • Reversing operators causing empty results
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard