הקלדת פונקציות

פונקציות של סוגים

שם תיאור
TYPE הפונקציה מחזירה את סוג הערך בתור STRING.
IS_TYPE הפונקציה מחזירה את הערך true אם הערך תואם לסוג שצוין.

סוג

תחביר:

type(input: ANY) -> STRING

תיאור:

מחזירה ייצוג מחרוזת של הסוג input.

אם הערך חסר, הפונקציה מחזירה NULL.

לדוגמה:

input type(input)
NULL "null"
true "boolean"
1 "int32"
-3L "int64"
3.14 "float64"
‫2024-01-01T00:00:00Z UTC "timestamp"
"foo" "string"
b"foo" "bytes"
[1, 2] "array"
{"a": 1} "map"
path("c/d") "reference"
vector([1.0, 2.0]) "vector"
object_id "a7f2c9d18b3e4509f67c12d8" "object_id"
1.2e9m "decimal128"
regex "/pattern/i" "regex"
bson_timestamp(1732754912, 500) "bson_timestamp"
לא נוכח/ת NULL

דוגמאות ללקוחות

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

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()
)
Java
Pipeline.Snapshot result =
    firestore
        .pipeline()
        .collection("books")
        .select(notEqual(field("title"), "1984").as("not1984"))
        .execute()
        .get();
המשך
snapshot := client.Pipeline().
	Collection("books").
	Select(firestore.Fields(
		firestore.NotEqual(firestore.FieldOf("title"), "1984").As("not1984"),
	)).
	Execute(ctx)

IS_TYPE

תחביר:

is_type(input: ANY, type: STRING) -> BOOLEAN

תיאור:

הפונקציה מחזירה את הערך true אם input תואם ל-type שצוין, אחרת היא מחזירה את הערך false. אם הערך של input חסר, הפונקציה מחזירה NULL.

המחרוזות הנתמכות של type הן:

  • "null"
  • "boolean"
  • "int32"
  • "int64"
  • "float64"
  • "decimal128"
  • "number"
  • "timestamp"
  • "string"
  • "bytes"
  • "array"
  • "map"
  • "reference"
  • "vector"
  • "geo_point"
  • "max_key"
  • "min_key"
  • "object_id"
  • "regex"
  • "bson_timestamp"

לדוגמה:

input type is_type(input, type)
NULL "null" true
true "boolean" true
3.14 "float64" true
"foo" "string" true
b"foo" "string" false
[1, 2] "array" true
{"a": 1} "map" true
vector([1.0, 2.0]) "vector" true
לא נוכח/ת "string" NULL
"bar" "other" שגיאה