Comparison Functions Reference
Comparison Functions
| Name | Description |
EQUAL
|
Equality comparison |
GREATER_THAN
|
Greater than comparison |
GREATER_THAN_OR_EQUAL
|
Greater than or equal comparison |
LESS_THAN
|
Less than comparison |
LESS_THAN_OR_EQUAL
|
Less than or equal comparison |
NOT_EQUAL
|
Not equals comparison |
EQUAL
Syntax:
equal(x: ANY, y: ANY) -> BOOLEAN
Examples:
x
|
y
|
equal(x, y)
|
|---|---|---|
|
1L
|
1L | TRUE
|
|
1.0
|
1L | TRUE
|
|
-1.0
|
1L | FALSE
|
|
NaN
|
NaN | TRUE
|
NULL
|
NULL
|
TRUE
|
NULL
|
ABSENT
|
FALSE
|
Description:
Returns TRUE
if x
and y
are equal, and FALSE
otherwise.
Node.js
const result = await db . pipeline () . collection ( "books" ) . select ( field ( "rating" ). equal ( 5 ). as ( "hasPerfectRating" )) . execute ();
Web
const result = await execute ( db . pipeline () . collection ( "books" ) . select ( field ( "rating" ). equal ( 5 ). as ( "hasPerfectRating" )) );
Swift
let result = try await db . pipeline () . collection ( "books" ) . select ([ Field ( "rating" ). equal ( 5 ). as ( "hasPerfectRating" )]) . execute ()
Kotlin
Android
val result = db . pipeline () . collection ( "books" ) . select ( field ( "rating" ). equal ( 5 ). alias ( "hasPerfectRating" )) . execute ()
Java
Android
Task<Pipeline . Snapshot > result = db . pipeline () . collection ( "books" ) . select ( field ( "rating" ). equal ( 5 ). alias ( "hasPerfectRating" )) . execute ();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client . pipeline () . collection ( "books" ) . select ( Field . of ( "rating" ) . equal ( 5 ) . as_ ( "hasPerfectRating" )) . execute () )
Java
Pipeline . Snapshot result = firestore . pipeline () . collection ( "books" ) . select ( equal ( field ( "rating" ), 5 ). as ( "hasPerfectRating" )) . execute () . get ();
GREATER_THAN
Syntax:
greater_than(x: ANY, y: ANY) -> BOOLEAN
Description:
Returns TRUE
if x
is greater than y
, and FALSE
otherwise.
If x
and y
are not comparable, returns FALSE
.
Examples:
x
|
y
|
greater_than(x, y)
|
|---|---|---|
|
1L
|
0.0 | TRUE
|
|
1L
|
1L | FALSE
|
|
1L
|
2L | FALSE
|
|
"foo"
|
0L | FALSE
|
|
0L
|
"foo" | FALSE
|
|
NaN
|
0L | FALSE
|
|
0L
|
NaN | FALSE
|
NULL
|
NULL
|
FALSE
|
Node.js
const result = await db . pipeline () . collection ( "books" ) . select ( field ( "rating" ). greaterThan ( 4 ). as ( "hasHighRating" )) . execute ();
Web
const result = await execute ( db . pipeline () . collection ( "books" ) . select ( field ( "rating" ). greaterThan ( 4 ). as ( "hasHighRating" )) );
Swift
let result = try await db . pipeline () . collection ( "books" ) . select ([ Field ( "rating" ). greaterThan ( 4 ). as ( "hasHighRating" )]) . execute ()
Kotlin
Android
val result = db . pipeline () . collection ( "books" ) . select ( field ( "rating" ). greaterThan ( 4 ). alias ( "hasHighRating" )) . execute ()
Java
Android
Task<Pipeline . Snapshot > result = db . pipeline () . collection ( "books" ) . select ( field ( "rating" ). greaterThan ( 4 ). alias ( "hasHighRating" )) . execute ();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client . pipeline () . collection ( "books" ) . select ( Field . of ( "rating" ) . greater_than ( 4 ) . as_ ( "hasHighRating" )) . execute () )
Java
Pipeline . Snapshot result = firestore . pipeline () . collection ( "books" ) . select ( greaterThan ( field ( "rating" ), 4 ). as ( "hasHighRating" )) . execute () . get ();
GREATER_THAN_OR_EQUAL
Syntax:
greater_than_or_equal(x: ANY, y: ANY) -> BOOLEAN
Description:
Returns TRUE
if x
is greater than or equal to y
, and FALSE
otherwise.
If x
and y
are not comparable, returns FALSE
.
Examples:
x
|
y
|
greater_than_or_equal(x, y)
|
|---|---|---|
|
1L
|
0.0 | TRUE
|
|
1L
|
1L | TRUE
|
|
1L
|
2L | FALSE
|
|
"foo"
|
0L | FALSE
|
|
0L
|
"foo" | FALSE
|
|
NaN
|
0L | FALSE
|
|
0L
|
NaN | FALSE
|
NULL
|
NULL
|
TRUE
|
Node.js
const result = await db . pipeline () . collection ( "books" ) . select ( field ( "published" ). greaterThanOrEqual ( 1900 ). as ( "publishedIn20thCentury" )) . execute ();
Web
const result = await execute ( db . pipeline () . collection ( "books" ) . select ( field ( "published" ). greaterThanOrEqual ( 1900 ). as ( "publishedIn20thCentury" )) );
Swift
let result = try await db . pipeline () . collection ( "books" ) . select ([ Field ( "published" ). greaterThanOrEqual ( 1900 ). as ( "publishedIn20thCentury" )]) . execute ()
Kotlin
Android
val result = db . pipeline () . collection ( "books" ) . select ( field ( "published" ). greaterThanOrEqual ( 1900 ). alias ( "publishedIn20thCentury" )) . execute ()
Java
Android
Task<Pipeline . Snapshot > result = db . pipeline () . collection ( "books" ) . select ( field ( "published" ). greaterThanOrEqual ( 1900 ). alias ( "publishedIn20thCentury" )) . execute ();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client . pipeline () . collection ( "books" ) . select ( Field . of ( "published" ) . greater_than_or_equal ( 1900 ) . as_ ( "publishedIn20thCentury" ) ) . execute () )
Java
Pipeline . Snapshot result = firestore . pipeline () . collection ( "books" ) . select ( greaterThanOrEqual ( field ( "published" ), 1900 ). as ( "publishedIn20thCentury" )) . execute () . get ();
LESS_THAN
Syntax:
less_than(x: ANY, y: ANY) -> BOOLEAN
Description:
Returns TRUE
if x
is less than y
, and FALSE
otherwise.
If x
and y
are not comparable, returns FALSE
.
Examples:
x
|
y
|
less_than(x, y)
|
|---|---|---|
|
1L
|
0.0 | FALSE
|
|
1L
|
1L | FALSE
|
|
1L
|
2L | TRUE
|
|
"foo"
|
0L | FALSE
|
|
0L
|
"foo" | FALSE
|
|
NaN
|
0L | FALSE
|
|
0L
|
NaN | FALSE
|
NULL
|
NULL
|
FALSE
|
Node.js
const result = await db . pipeline () . collection ( "books" ) . select ( field ( "published" ). lessThan ( 1923 ). as ( "isPublicDomainProbably" )) . execute ();
Web
const result = await execute ( db . pipeline () . collection ( "books" ) . select ( field ( "published" ). lessThan ( 1923 ). as ( "isPublicDomainProbably" )) );
Swift
let result = try await db . pipeline () . collection ( "books" ) . select ([ Field ( "published" ). lessThan ( 1923 ). as ( "isPublicDomainProbably" )]) . execute ()
Kotlin
Android
val result = db . pipeline () . collection ( "books" ) . select ( field ( "published" ). lessThan ( 1923 ). alias ( "isPublicDomainProbably" )) . execute ()
Java
Android
Task<Pipeline . Snapshot > result = db . pipeline () . collection ( "books" ) . select ( field ( "published" ). lessThan ( 1923 ). alias ( "isPublicDomainProbably" )) . execute ();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client . pipeline () . collection ( "books" ) . select ( Field . of ( "published" ) . less_than ( 1923 ) . as_ ( "isPublicDomainProbably" )) . execute () )
Java
Pipeline . Snapshot result = firestore . pipeline () . collection ( "books" ) . select ( lessThan ( field ( "published" ), 1923 ). as ( "isPublicDomainProbably" )) . execute () . get ();
LESS_THAN_OR_EQUAL
Syntax:
less_than_or_equal(x: ANY, y: ANY) -> BOOLEAN
Description:
Returns TRUE
if x
is less than or equal to y
, and FALSE
otherwise.
If x
and y
are not comparable, returns FALSE
.
Examples:
x
|
y
|
less_than(x, y)
|
|---|---|---|
|
1L
|
0.0 | FALSE
|
|
1L
|
1L | TRUE
|
|
1L
|
2L | TRUE
|
|
"foo"
|
0L | FALSE
|
|
0L
|
"foo" | FALSE
|
|
NaN
|
0L | FALSE
|
|
0L
|
NaN | FALSE
|
NULL
|
NULL
|
TRUE
|
Node.js
const result = await db . pipeline () . collection ( "books" ) . select ( field ( "rating" ). lessThanOrEqual ( 2 ). as ( "hasBadRating" )) . execute ();
Web
const result = await execute ( db . pipeline () . collection ( "books" ) . select ( field ( "rating" ). lessThanOrEqual ( 2 ). as ( "hasBadRating" )) );
Swift
let result = try await db . pipeline () . collection ( "books" ) . select ([ Field ( "rating" ). lessThanOrEqual ( 2 ). as ( "hasBadRating" )]) . execute ()
Kotlin
Android
val result = db . pipeline () . collection ( "books" ) . select ( field ( "rating" ). lessThanOrEqual ( 2 ). alias ( "hasBadRating" )) . execute ()
Java
Android
Task<Pipeline . Snapshot > result = db . pipeline () . collection ( "books" ) . select ( field ( "rating" ). lessThanOrEqual ( 2 ). alias ( "hasBadRating" )) . execute ();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client . pipeline () . collection ( "books" ) . select ( Field . of ( "rating" ) . less_than_or_equal ( 2 ) . as_ ( "hasBadRating" )) . execute () )
Java
Pipeline . Snapshot result = firestore . pipeline () . collection ( "books" ) . select ( lessThanOrEqual ( field ( "rating" ), 2 ). as ( "hasBadRating" )) . execute () . get ();
NOT_EQUAL
Syntax:
not_equal(x: ANY, y: ANY) -> BOOLEAN
Description:
Returns TRUE
if x
is not equal to y
, and FALSE
otherwise.
Examples:
x
|
y
|
not_equal(x, y)
|
|---|---|---|
|
1L
|
1L | FALSE
|
|
1.0
|
1L | FALSE
|
|
-1.0
|
1L | TRUE
|
|
NaN
|
0L | TRUE
|
|
NaN
|
NaN | FALSE
|
NULL
|
NULL
|
FALSE
|
NULL
|
ABSENT
|
TRUE
|
Node.js
const result = await db . pipeline () . collection ( "books" ) . select ( field ( "title" ). notEqual ( "1984" ). as ( "not1984" )) . execute ();
Web
const result = await execute ( db . pipeline () . collection ( "books" ) . select ( field ( "title" ). notEqual ( "1984" ). as ( "not1984" )) );
Swift
let result = try await db . pipeline () . collection ( "books" ) . select ([ Field ( "title" ). notEqual ( "1984" ). as ( "not1984" )]) . execute ()
Kotlin
Android
val result = db . pipeline () . collection ( "books" ) . select ( field ( "title" ). notEqual ( "1984" ). alias ( "not1984" )) . execute ()
Java
Android
Task<Pipeline . Snapshot > result = db . pipeline () . collection ( "books" ) . select ( field ( "title" ). notEqual ( "1984" ). alias ( "not1984" )) . execute ();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client . pipeline () . collection ( "books" ) . select ( Field . of ( "title" ) . not_equal ( "1984" ) . as_ ( "not1984" )) . execute () )
Java
Pipeline . Snapshot result = firestore . pipeline () . collection ( "books" ) . select ( notEqual ( field ( "title" ), "1984" ). as ( "not1984" )) . execute () . get ();
What's next
- See the Pipeline Queries overview

