פונקציות השוואה

פונקציות השוואה

שם תיאור
EQUAL השוואה של שוויון
GREATER_THAN השוואה של ערכים גדולים יותר
GREATER_THAN_OR_EQUAL השוואה של גדול או שווה
LESS_THAN השוואה של ערכים קטנים יותר
LESS_THAN_OR_EQUAL השוואה של קטן מ- או שווה ל-
NOT_EQUAL השוואה של 'לא שווה'

EQUAL

תחביר:

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

לדוגמה:

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

תיאור:

הפונקציה מחזירה TRUE אם x ו-y שווים, ו-FALSE אחרת.

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

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

תחביר:

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

תיאור:

הפונקציה מחזירה TRUE אם x גדול מ-y, ו-FALSE אחרת.

אם אי אפשר להשוות בין x לבין y, הפונקציה מחזירה FALSE.

לדוגמה:

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

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

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

תחביר:

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

תיאור:

הפונקציה מחזירה TRUE אם x גדול מ-y או שווה לו, ומחזירה FALSE אחרת.

אם אי אפשר להשוות בין x לבין y, הפונקציה מחזירה FALSE.

לדוגמה:

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

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

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

תחביר:

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

תיאור:

מחזירה TRUE אם x קטן מ-y, ומחזירה FALSE אחרת.

אם אי אפשר להשוות בין x לבין y, הפונקציה מחזירה FALSE.

לדוגמה:

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

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

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

תחביר:

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

תיאור:

מחזירה את הערך TRUE אם x קטן מ-y או שווה לו, ואת הערך FALSE אחרת.

אם אי אפשר להשוות בין x לבין y, הפונקציה מחזירה FALSE.

לדוגמה:

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

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

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

תחביר:

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

תיאור:

הפונקציה מחזירה את הערך TRUE אם x לא שווה ל-y, ואת הערך FALSE אחרת.

לדוגמה:

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

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

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