Функции сравнения

Функции сравнения

Имя Описание
EQUAL Сравнение равенства
GREATER_THAN Больше, чем сравнение
GREATER_THAN_OR_EQUAL сравнение «больше или равно»
LESS_THAN Меньше, чем в сравнении
LESS_THAN_OR_EQUAL сравнение меньше или равно
NOT_EQUAL Сравнение не равно

РАВНЫЙ

Синтаксис:

equal(x: ANY, y: ANY) -> BOOLEAN

Примеры:

x y equal(x, y)
1 л 1 л TRUE
1.0 1 л TRUE
-1.0 1 л FALSE
NaN NaN TRUE
NULL NULL TRUE
NULL ABSENT FALSE

Описание:

Возвращает TRUE если x и y равны, и FALSE в противном случае.

Web

const result = await execute(db.pipeline()
  .collection("books")
  .select(field("rating").equal(5).as("hasPerfectRating"))
);
Быстрый
let result = try await db.pipeline()
  .collection("books")
  .select([Field("rating").equal(5).as("hasPerfectRating")])
  .execute()

Kotlin

val result = db.pipeline()
    .collection("books")
    .select(field("rating").equal(5).alias("hasPerfectRating"))
    .execute()

Java

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()
)

БОЛЬШЕ_ЧЕМ

Синтаксис:

greater_than(x: ANY, y: ANY) -> BOOLEAN

Описание:

Возвращает TRUE если x больше y , и FALSE в противном случае.

Если x и y несравнимы, возвращает FALSE .

Примеры:

x y greater_than(x, y)
1 л 0.0 TRUE
1 л 1 л FALSE
1 л 2 л FALSE
"фу" 0 л FALSE
0 л "фу" FALSE
NaN 0 л FALSE
0 л NaN FALSE
NULL NULL FALSE

Web

const result = await execute(db.pipeline()
  .collection("books")
  .select(field("rating").greaterThan(4).as("hasHighRating"))
);
Быстрый
let result = try await db.pipeline()
  .collection("books")
  .select([Field("rating").greaterThan(4).as("hasHighRating")])
  .execute()

Kotlin

val result = db.pipeline()
    .collection("books")
    .select(field("rating").greaterThan(4).alias("hasHighRating"))
    .execute()

Java

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()
)

БОЛЬШЕ ИЛИ РАВНЕЕ

Синтаксис:

greater_than_or_equal(x: ANY, y: ANY) -> BOOLEAN

Описание:

Возвращает TRUE если x больше или равно y , и FALSE в противном случае.

Если x и y несравнимы, возвращает FALSE .

Примеры:

x y greater_than_or_equal(x, y)
1 л 0.0 TRUE
1 л 1 л TRUE
1 л 2 л FALSE
"фу" 0 л FALSE
0 л "фу" FALSE
NaN 0 л FALSE
0 л NaN FALSE
NULL NULL TRUE

Web

const result = await execute(db.pipeline()
  .collection("books")
  .select(field("published").greaterThanOrEqual(1900).as("publishedIn20thCentury"))
);
Быстрый
let result = try await db.pipeline()
  .collection("books")
  .select([Field("published").greaterThanOrEqual(1900).as("publishedIn20thCentury")])
  .execute()

Kotlin

val result = db.pipeline()
    .collection("books")
    .select(field("published").greaterThanOrEqual(1900).alias("publishedIn20thCentury"))
    .execute()

Java

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()
)

МЕНЬШЕ, ЧЕМ

Синтаксис:

less_than(x: ANY, y: ANY) -> BOOLEAN

Описание:

Возвращает TRUE если x меньше y , и FALSE в противном случае.

Если x и y несравнимы, возвращает FALSE .

Примеры:

x y less_than(x, y)
1 л 0.0 FALSE
1 л 1 л FALSE
1 л 2 л TRUE
"фу" 0 л FALSE
0 л "фу" FALSE
NaN 0 л FALSE
0 л NaN FALSE
NULL NULL FALSE

Web

const result = await execute(db.pipeline()
  .collection("books")
  .select(field("published").lessThan(1923).as("isPublicDomainProbably"))
);
Быстрый
let result = try await db.pipeline()
  .collection("books")
  .select([Field("published").lessThan(1923).as("isPublicDomainProbably")])
  .execute()

Kotlin

val result = db.pipeline()
    .collection("books")
    .select(field("published").lessThan(1923).alias("isPublicDomainProbably"))
    .execute()

Java

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()
)

МЕНЬШЕ ИЛИ РАВНО

Синтаксис:

less_than_or_equal(x: ANY, y: ANY) -> BOOLEAN

Описание:

Возвращает TRUE если x меньше или равно y , и FALSE в противном случае.

Если x и y несравнимы, возвращает FALSE .

Примеры:

x y less_than(x, y)
1 л 0.0 FALSE
1 л 1 л TRUE
1 л 2 л TRUE
"фу" 0 л FALSE
0 л "фу" FALSE
NaN 0 л FALSE
0 л NaN FALSE
NULL NULL TRUE

Web

const result = await execute(db.pipeline()
  .collection("books")
  .select(field("rating").lessThanOrEqual(2).as("hasBadRating"))
);
Быстрый
let result = try await db.pipeline()
  .collection("books")
  .select([Field("rating").lessThanOrEqual(2).as("hasBadRating")])
  .execute()

Kotlin

val result = db.pipeline()
    .collection("books")
    .select(field("rating").lessThanOrEqual(2).alias("hasBadRating"))
    .execute()

Java

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()
)

НЕ РАВНО

Синтаксис:

not_equal(x: ANY, y: ANY) -> BOOLEAN

Описание:

Возвращает TRUE если x не равно y , и FALSE в противном случае.

Примеры:

x y not_equal(x, y)
1 л 1 л FALSE
1.0 1 л FALSE
-1.0 1 л TRUE
NaN 0 л TRUE
NaN NaN FALSE
NULL NULL FALSE
NULL ABSENT TRUE

Web

const result = await execute(db.pipeline()
  .collection("books")
  .select(field("title").notEqual("1984").as("not1984"))
);
Быстрый
let result = try await db.pipeline()
  .collection("books")
  .select([Field("title").notEqual("1984").as("not1984")])
  .execute()

Kotlin

val result = db.pipeline()
    .collection("books")
    .select(field("title").notEqual("1984").alias("not1984"))
    .execute()

Java

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()
)