Dize İşlevleri
| Ad | Açıklama |
BYTE_LENGTH
|
STRING veya BYTES değerindeki BYTES sayısını döndürür.
|
CHAR_LENGTH
|
STRING değerindeki Unicode karakter sayısını döndürür.
|
STARTS_WITH
|
STRING, belirli bir önekle başlıyorsa TRUE değerini döndürür.
|
ENDS_WITH
|
STRING, belirli bir son ekle bitiyorsa TRUE değerini döndürür.
|
LIKE
|
Bir STRING bir kalıpla eşleşirse TRUE değerini döndürür.
|
REGEX_CONTAINS
|
Bir değer, normal ifadeyle kısmen veya tamamen eşleşirse TRUE değerini döndürür.
|
REGEX_FIND
|
Normal ifadeyle eşleşen ilk alt dizeyi veya eşleşme yoksa NULL değerini döndürür.
|
REGEX_FIND_ALL
|
Normal ifadeyle eşleşen tüm alt dizelerin dizisini veya eşleşme yoksa boş bir diziyi döndürür. |
REGEX_MATCH
|
Bir değerin herhangi bir kısmı normal ifadeyle eşleşirse TRUE değerini döndürür.
|
STRING_CONCAT
|
Birden fazla STRING değerini bir STRING değerinde birleştirir.
|
STRING_CONTAINS
|
Bir değer STRING içeriyorsa TRUE değerini döndürür.
|
STRING_INDEX_OF
|
STRING veya BYTES değerinin ilk geçtiği yerin 0 tabanlı dizinini döndürür.
|
TO_UPPER
|
STRING veya BYTES değerini büyük harfe dönüştürür.
|
TO_LOWER
|
STRING veya BYTES değerini küçük harfe dönüştürür.
|
SUBSTRING
|
STRING veya BYTES değerinin alt dizesini alır.
|
STRING_REVERSE
|
STRING veya BYTES değerini tersine çevirir.
|
STRING_REPEAT
|
Bir STRING veya BYTES değerini belirtilen sayıda tekrarlar.
|
STRING_REPLACE_ALL
|
STRING veya BYTES değerinin tüm örneklerini değiştirir.
|
STRING_REPLACE_ONE
|
STRING veya BYTES değerinin ilk geçtiği yeri değiştirir.
|
TRIM
|
STRING veya BYTES değerinin başındaki ve sonundaki karakterleri kırpar.
|
LTRIM
|
STRING veya BYTES değerinin başındaki karakterleri kırpar.
|
RTRIM
|
STRING veya BYTES değerinin sonundaki karakterleri kırpar.
|
SPLIT
|
STRING veya BYTES değerini bir diziye böler.
|
BYTE_LENGTH
Söz dizimi:
byte_length[T <: STRING | BYTES](value: T) -> INT64
Açıklama:
Bir STRING veya BYTES değerindeki BYTES sayısını döndürür.
Örnekler:
| value | byte_length(value) |
|---|---|
| "abc" | 3 |
| "xyzabc" | 6 |
| b"abc" | 3 |
Node.js
const result = await db.pipeline() .collection("books") .select( field("title").byteLength().as("titleByteLength") ) .execute();
Web
const result = await execute(db.pipeline() .collection("books") .select( field("title").byteLength().as("titleByteLength") ) );
Swift
let result = try await db.pipeline() .collection("books") .select([ Field("title").byteLength().as("titleByteLength") ]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select( field("title").byteLength().alias("titleByteLength") ) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select( field("title").byteLength().alias("titleByteLength") ) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("books") .select(Field.of("title").byte_length().as_("titleByteLength")) .execute() )
Java
Pipeline.Snapshot result = firestore .pipeline() .collection("books") .select(byteLength(field("title")).as("titleByteLength")) .execute() .get();
Go
snapshot := client.Pipeline(). Collection("books"). Select(firestore.Fields( firestore.ByteLength(firestore.FieldOf("title")).As("titleByteLength"), )). Execute(ctx)
CHAR_LENGTH
Söz dizimi:
char_length(value: STRING) -> INT64
Açıklama:
STRING değerindeki Unicode kod noktalarının sayısını döndürür.
Örnekler:
| value | char_length(value) |
|---|---|
| "abc" | 3 |
| "merhaba" | 5 |
| "world" | 5 |
Node.js
const result = await db.pipeline() .collection("books") .select( field("title").charLength().as("titleCharLength") ) .execute();
Web
const result = await execute(db.pipeline() .collection("books") .select( field("title").charLength().as("titleCharLength") ) );
Swift
let result = try await db.pipeline() .collection("books") .select([ Field("title").charLength().as("titleCharLength") ]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select( field("title").charLength().alias("titleCharLength") ) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select( field("title").charLength().alias("titleCharLength") ) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("books") .select(Field.of("title").char_length().as_("titleCharLength")) .execute() )
Java
Pipeline.Snapshot result = firestore .pipeline() .collection("books") .select(charLength(field("title")).as("titleCharLength")) .execute() .get();
Go
snapshot := client.Pipeline(). Collection("books"). Select(firestore.Fields( firestore.CharLength(firestore.FieldOf("title")).As("titleCharLength"), )). Execute(ctx)
STARTS_WITH
Söz dizimi:
starts_with(value: STRING, prefix: STRING) -> BOOLEAN
Açıklama:
value, prefix ile başlıyorsa TRUE değerini döndürür.
Örnekler:
| value | önek | starts_with(value, prefix) |
|---|---|---|
| "abc" | "a" | doğru |
| "abc" | "b" | yanlış |
| "abc" | "" | doğru |
Node.js
const result = await db.pipeline() .collection("books") .select( field("title").startsWith("The") .as("needsSpecialAlphabeticalSort") ) .execute();
Web
const result = await execute(db.pipeline() .collection("books") .select( field("title").startsWith("The") .as("needsSpecialAlphabeticalSort") ) );
Swift
let result = try await db.pipeline() .collection("books") .select([ Field("title").startsWith("The") .as("needsSpecialAlphabeticalSort") ]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select( field("title").startsWith("The") .alias("needsSpecialAlphabeticalSort") ) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select( field("title").startsWith("The") .alias("needsSpecialAlphabeticalSort") ) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("books") .select( Field.of("title").starts_with("The").as_("needsSpecialAlphabeticalSort") ) .execute() )
Java
Pipeline.Snapshot result = firestore .pipeline() .collection("books") .select(startsWith(field("title"), "The").as("needsSpecialAlphabeticalSort")) .execute() .get();
Go
snapshot := client.Pipeline(). Collection("books"). Select(firestore.Fields( firestore.StartsWith(firestore.FieldOf("title"), "The").As("needsSpecialAlphabeticalSort"), )). Execute(ctx)
ENDS_WITH
Söz dizimi:
ends_with(value: STRING, postfix: STRING) -> BOOLEAN
Açıklama:
value, postfix ile bitiyorsa TRUE değerini döndürür.
Örnekler:
| value | son ek | ends_with(value, postfix) |
|---|---|---|
| "abc" | "c" | doğru |
| "abc" | "b" | yanlış |
| "abc" | "" | doğru |
Node.js
const result = await db.pipeline() .collection("inventory/devices/laptops") .select( field("name").endsWith("16 inch") .as("16InLaptops") ) .execute();
Swift
let result = try await db.pipeline() .collection("inventory/devices/laptops") .select([ Field("name").endsWith("16 inch") .as("16InLaptops") ]) .execute()
Kotlin
val result = db.pipeline() .collection("inventory/devices/laptops") .select( field("name").endsWith("16 inch") .alias("16InLaptops") ) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("inventory/devices/laptops") .select( field("name").endsWith("16 inch") .alias("16InLaptops") ) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("inventory/devices/laptops") .select(Field.of("name").ends_with("16 inch").as_("16InLaptops")) .execute() )
Java
Pipeline.Snapshot result = firestore .pipeline() .collection("inventory/devices/laptops") .select(endsWith(field("name"), "16 inch").as("16InLaptops")) .execute() .get();
Go
snapshot := client.Pipeline(). Collection("inventory/devices/laptops"). Select(firestore.Fields( firestore.EndsWith(firestore.FieldOf("name"), "16 inch").As("`Laptops16in`"), )). Execute(ctx)
BEĞENDİM
Söz dizimi:
like(value: STRING, pattern: STRING) -> BOOLEAN
Açıklama:
value, pattern ile eşleşirse TRUE değerini döndürür.
Örnekler:
| value | pattern | like(value, pattern) |
|---|---|---|
| "Firestore" | "Fire%" | doğru |
| "Firestore" | "%store" | doğru |
| "Datastore" | "Data_tore" | doğru |
| "%100" | "%100" | doğru |
Node.js
const result = await db.pipeline() .collection("books") .select( field("genre").like("%Fiction") .as("anyFiction") ) .execute();
Web
const result = await execute(db.pipeline() .collection("books") .select( field("genre").like("%Fiction") .as("anyFiction") ) );
Swift
let result = try await db.pipeline() .collection("books") .select([ Field("genre").like("%Fiction") .as("anyFiction") ]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select( field("genre").like("%Fiction") .alias("anyFiction") ) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select( field("genre").like("%Fiction") .alias("anyFiction") ) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("books") .select(Field.of("genre").like("%Fiction").as_("anyFiction")) .execute() )
Java
Pipeline.Snapshot result = firestore .pipeline() .collection("books") .select(like(field("genre"), "%Fiction").as("anyFiction")) .execute() .get();
Go
snapshot := client.Pipeline(). Collection("books"). Select(firestore.Fields( firestore.Like(firestore.FieldOf("genre"), "%Fiction").As("anyFiction"), )). Execute(ctx)
REGEX_CONTAINS
Söz dizimi:
regex_contains(value: STRING, regexp: STRING | REGEX) -> BOOLEAN
Açıklama:
value dizesinin bir kısmı regexp ile eşleşirse TRUE değerini döndürür. regexp geçerli bir normal ifade değilse bu işlev error döndürür.
regexp bağımsız değişkeni, regex("pattern", "options") kullanılarak oluşturulan bir REGEX değeri de olabilir. Bu biçim, kalıpla birlikte normal ifade seçenekleri sunmanıza olanak tanır. Desteklenen seçenekler şunlardır:
i: Büyük/küçük harfe duyarlı olmayan eşleşme.m: Çok satırlı mod (^ve$, satırların başlangıcı veya sonuyla eşleşir).s: Dotall modu (., yeni satırlarla eşleşir).
regexp bir STRING ise kalıbın kendisine yerleştirilmiş olanlar (ör. (?i)) dışında hiçbir seçenek uygulanmaz.
Normal ifadeler, re2 kitaplığının söz dizimine uyar.
Örnekler:
| value | regexp | regex_contains(value, regexp) |
|---|---|---|
| "Firestore" | "Ateş" | doğru |
| "Firestore" | "store$" | doğru |
| "Firestore" | "veri" | yanlış |
| "Firestore" | regex("fire", "i") |
doğru |
| "Firestore" | regex("FIRE", "") |
yanlış |
Node.js
const result = await db.pipeline() .collection("documents") .select( field("title").regexContains("Firestore (Enterprise|Standard)") .as("isFirestoreRelated") ) .execute();
Web
const result = await execute(db.pipeline() .collection("documents") .select( field("title").regexContains("Firestore (Enterprise|Standard)") .as("isFirestoreRelated") ) );
Swift
let result = try await db.pipeline() .collection("documents") .select([ Field("title").regexContains("Firestore (Enterprise|Standard)") .as("isFirestoreRelated") ]) .execute()
Kotlin
val result = db.pipeline() .collection("documents") .select( field("title").regexContains("Firestore (Enterprise|Standard)") .alias("isFirestoreRelated") ) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("documents") .select( field("title").regexContains("Firestore (Enterprise|Standard)") .alias("isFirestoreRelated") ) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("documents") .select( Field.of("title") .regex_contains("Firestore (Enterprise|Standard)") .as_("isFirestoreRelated") ) .execute() )
Java
Pipeline.Snapshot result = firestore .pipeline() .collection("documents") .select( regexContains(field("title"), "Firestore (Enterprise|Standard)") .as("isFirestoreRelated")) .execute() .get();
Go
snapshot := client.Pipeline(). Collection("documents"). Select(firestore.Fields( firestore.RegexContains(firestore.FieldOf("title"), "Firestore (Enterprise|Standard)").As("isFirestoreRelated"), )). Execute(ctx)
REGEX_FIND
Söz dizimi:
regex_find(value: STRING, regexp: STRING | REGEX) -> STRING
Açıklama:
value içinde regexp ile eşleşen ilk alt dizeyi veya eşleşme yoksa NULL değerini döndürür. regexp geçerli bir normal ifade değilse bu işlev error döndürür.
regexp bağımsız değişkeni, regex("pattern", "options") kullanılarak oluşturulan bir REGEX değeri de olabilir. Bu biçim, kalıpla birlikte normal ifade seçenekleri sunmanıza olanak tanır. Desteklenen seçenekler şunlardır:
i: Büyük/küçük harfe duyarlı olmayan eşleşme.m: Çok satırlı mod (^ve$, satırların başlangıcı veya sonuyla eşleşir).s: Dotall modu (., yeni satırlarla eşleşir).
regexp bir STRING ise kalıbın kendisine yerleştirilmiş olanlar (ör. (?i)) dışında hiçbir seçenek uygulanmaz.
Normal ifadeler, re2 kitaplığının söz dizimine uyar.
Örnekler:
| value | regexp | regex_find(value, regexp) |
|---|---|---|
| "Sometext MATCH" | "SomeText" | "Sometext" |
| "Sometext MATCH" | regex("match", "i") |
"MATCH" |
| "Sometext MATCH" | regex("(match)", "i") |
"MATCH" |
| "Sometext match" | regex("MATCH", "") |
null |
REGEX_FIND_ALL
Söz dizimi:
regex_find_all(value: STRING, regexp: STRING | REGEX) -> ARRAY<STRING>
Açıklama:
value içinde regexp ile eşleşen tüm alt dizelerin bir dizisini veya eşleşme yoksa boş bir dizi döndürür. regexp geçerli bir normal ifade değilse bu işlev error döndürür.
regexp bağımsız değişkeni, regex("pattern", "options") kullanılarak oluşturulan bir REGEX değeri de olabilir. Bu biçim, kalıpla birlikte normal ifade seçenekleri sunmanıza olanak tanır. Desteklenen seçenekler şunlardır:
i: Büyük/küçük harfe duyarlı olmayan eşleşme.m: Çok satırlı mod (^ve$, satırların başlangıcı veya sonuyla eşleşir).s: Dotall modu (., yeni satırlarla eşleşir).
regexp bir STRING ise kalıbın kendisine yerleştirilmiş olanlar (ör. (?i)) dışında hiçbir seçenek uygulanmaz.
Normal ifadeler, re2 kitaplığının söz dizimine uyar.
Örnekler:
| value | regexp | regex_find_all(value, regexp) |
|---|---|---|
| "bir iki üç iki" | "bir" | ["one"] |
| "bir İKİ üç İki" | regex("two", "i") |
["TWO", "Two"] |
| "bir iki üç iki" | regex("TWO", "") |
[] |
REGEX_MATCH
Söz dizimi:
regex_match(value: STRING, regexp: STRING | REGEX) -> BOOLEAN
Açıklama:
value, regexp ile tam olarak eşleşiyorsa TRUE değerini döndürür. regexp geçerli bir normal ifade değilse bu işlev error döndürür.
regexp bağımsız değişkeni, regex("pattern", "options") kullanılarak oluşturulan bir REGEX değeri de olabilir. Bu biçim, kalıpla birlikte normal ifade seçenekleri sunmanıza olanak tanır. Desteklenen seçenekler şunlardır:
i: Büyük/küçük harfe duyarlı olmayan eşleşme.m: Çok satırlı mod (^ve$, satırların başlangıcı veya sonuyla eşleşir).s: Dotall modu (., yeni satırlarla eşleşir).
regexp bir STRING ise kalıbın kendisine yerleştirilmiş olanlar (ör. (?i)) dışında hiçbir seçenek uygulanmaz.
Normal ifadeler, re2 kitaplığının söz dizimine uyar.
Örnekler:
| value | regexp | regex_match(value, regexp) |
|---|---|---|
| "Firestore" | "F.*store" | doğru |
| "Firestore" | "Ateş" | yanlış |
| "Firestore" | "^F.*e$" | doğru |
| "FiReStOrE" | regex("firestore", "i") |
doğru |
| "Firestore" | regex("firestore", "") |
yanlış |
Node.js
const result = await db.pipeline() .collection("documents") .select( field("title").regexMatch("Firestore (Enterprise|Standard)") .as("isFirestoreExactly") ) .execute();
Web
const result = await execute(db.pipeline() .collection("documents") .select( field("title").regexMatch("Firestore (Enterprise|Standard)") .as("isFirestoreExactly") ) );
Swift
let result = try await db.pipeline() .collection("documents") .select([ Field("title").regexMatch("Firestore (Enterprise|Standard)") .as("isFirestoreExactly") ]) .execute()
Kotlin
val result = db.pipeline() .collection("documents") .select( field("title").regexMatch("Firestore (Enterprise|Standard)") .alias("isFirestoreExactly") ) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("documents") .select( field("title").regexMatch("Firestore (Enterprise|Standard)") .alias("isFirestoreExactly") ) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("documents") .select( Field.of("title") .regex_match("Firestore (Enterprise|Standard)") .as_("isFirestoreExactly") ) .execute() )
Java
Pipeline.Snapshot result = firestore .pipeline() .collection("documents") .select( regexMatch(field("title"), "Firestore (Enterprise|Standard)") .as("isFirestoreExactly")) .execute() .get();
Go
snapshot := client.Pipeline(). Collection("documents"). Select(firestore.Fields( firestore.RegexMatch(firestore.FieldOf("title"), "Firestore (Enterprise|Standard)").As("isFirestoreExactly"), )). Execute(ctx)
STRING_CONCAT
Söz dizimi:
string_concat(values: STRING...) -> STRING
Açıklama:
İki veya daha fazla STRING değerini tek bir sonuçta birleştirir.
Örnekler:
| bağımsız değişkenler | string_concat(values...) |
|---|---|
() |
hata |
("a") |
"a" |
("abc", "def") |
"abcdef" |
("a", "", "c") |
"ac" |
Node.js
const result = await db.pipeline() .collection("books") .select( field("title").stringConcat(" by ", field("author")) .as("fullyQualifiedTitle") ) .execute();
Web
const result = await execute(db.pipeline() .collection("books") .select( field("title").stringConcat(" by ", field("author")) .as("fullyQualifiedTitle") ) );
Swift
let result = try await db.pipeline() .collection("books") .select([ Field("title").concat([" by ", Field("author")]) .as("fullyQualifiedTitle") ]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select( field("title").concat(" by ", field("author")) .alias("fullyQualifiedTitle") ) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select( field("title").concat(" by ", field("author")) .alias("fullyQualifiedTitle") ) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("books") .select( Field.of("title") .concat(" by ", Field.of("author")) .as_("fullyQualifiedTitle") ) .execute() )
Java
Pipeline.Snapshot result = firestore .pipeline() .collection("books") .select(stringConcat(field("title"), " by ", field("author")).as("fullyQualifiedTitle")) .execute() .get();
Go
snapshot := client.Pipeline(). Collection("books"). Select(firestore.Fields( firestore.StringConcat(firestore.FieldOf("title"), " by ", firestore.FieldOf("author")).As("fullyQualifiedTitle"), )). Execute(ctx)
STRING_CONTAINS
Söz dizimi:
string_contains(value: STRING, substring: STRING) -> BOOLEAN
Açıklama:
value dizesinin substring dizesini içerip içermediğini kontrol eder.
Örnekler:
| value | substring | string_contains(value, substring) |
|---|---|---|
| "abc" | "b" | doğru |
| "abc" | "d" | yanlış |
| "abc" | "" | doğru |
| "a.c" | "." | doğru |
| "☃☃☃" | "☃" | doğru |
Node.js
const result = await db.pipeline() .collection("articles") .select( field("body").stringContains("Firestore") .as("isFirestoreRelated") ) .execute();
Web
const result = await execute(db.pipeline() .collection("articles") .select( field("body").stringContains("Firestore") .as("isFirestoreRelated") ) );
Swift
let result = try await db.pipeline() .collection("articles") .select([ Field("body").stringContains("Firestore") .as("isFirestoreRelated") ]) .execute()
Kotlin
val result = db.pipeline() .collection("articles") .select( field("body").stringContains("Firestore") .alias("isFirestoreRelated") ) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("articles") .select( field("body").stringContains("Firestore") .alias("isFirestoreRelated") ) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("articles") .select(Field.of("body").string_contains("Firestore").as_("isFirestoreRelated")) .execute() )
Java
Pipeline.Snapshot result = firestore .pipeline() .collection("articles") .select(stringContains(field("body"), "Firestore").as("isFirestoreRelated")) .execute() .get();
Go
snapshot := client.Pipeline(). Collection("articles"). Select(firestore.Fields( firestore.StringContains(firestore.FieldOf("body"), "Firestore").As("isFirestoreRelated"), )). Execute(ctx)
STRING_INDEX_OF
Söz dizimi:
string_index_of[T <: STRING | BYTES](value: T, search: T) -> INT64
Açıklama:
value içinde search ifadesinin ilk geçtiği yerin 0 tabanlı dizinini döndürür.
searchbulunamazsa-1değerini döndürür.valuebirSTRINGdeğeri ise sonuç, Unicode kod noktaları cinsinden ölçülür.BYTESdeğeri ise bayt cinsinden ölçülür.searchboş birSTRINGveyaBYTESdeğeriyse sonuç0olur.
Örnekler:
| value | ara | string_index_of(value, search) |
|---|---|---|
| "hello world" | "o" | 4 |
| "hello world" | "l" | 2 |
| "hello world" | "z" | -1 |
| "muz" | "ana" | 1 |
| "abc" | "" | 0 |
| b"abc" | b"b" | 1 |
| "é" | "é" | 0 |
| b"é" | b"é" | 0 |
TO_UPPER
Söz dizimi:
to_upper[T <: STRING | BYTES](value: T) -> T
Açıklama:
STRING veya BYTES değerini büyük harfe dönüştürür.
Bir bayt veya karakter, UTF-8 küçük harf alfabetik karakterine karşılık gelmiyorsa değiştirilmeden iletilir.
Örnekler:
| value | to_upper(value) |
|---|---|
| "abc" | "ABC" |
| "AbC" | "ABC" |
| b"abc" | "ABC" |
| b"a1c" | b"A1C" |
Node.js
const result = await db.pipeline() .collection("authors") .select( field("name").toUpper() .as("uppercaseName") ) .execute();
Web
const result = await execute(db.pipeline() .collection("authors") .select( field("name").toUpper() .as("uppercaseName") ) );
Swift
let result = try await db.pipeline() .collection("authors") .select([ Field("name").toUpper() .as("uppercaseName") ]) .execute()
Kotlin
val result = db.pipeline() .collection("authors") .select( field("name").toUpper() .alias("uppercaseName") ) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("authors") .select( field("name").toUpper() .alias("uppercaseName") ) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("authors") .select(Field.of("name").to_upper().as_("uppercaseName")) .execute() )
Java
Pipeline.Snapshot result = firestore .pipeline() .collection("authors") .select(toUpper(field("name")).as("uppercaseName")) .execute() .get();
Go
snapshot := client.Pipeline(). Collection("authors"). Select(firestore.Fields( firestore.ToUpper(firestore.FieldOf("name")).As("uppercaseName"), )). Execute(ctx)
TO_LOWER
Söz dizimi:
to_lower[T <: STRING | BYTES](value: T) -> T
Açıklama:
STRING veya BYTES değerini küçük harfe dönüştürür.
Bir bayt veya karakter, UTF-8 büyük harf alfabetik karakterine karşılık gelmiyorsa değiştirilmeden iletilir.
Örnekler:
| value | to_lower(value) |
|---|---|
| "ABC" | "abc" |
| "AbC" | "abc" |
| "A1C" | "a1c" |
| "ABC" | b"abc" |
Node.js
const result = await db.pipeline() .collection("authors") .select( field("genre").toLower().equal("fantasy") .as("isFantasy") ) .execute();
Web
const result = await execute(db.pipeline() .collection("authors") .select( field("genre").toLower().equal("fantasy") .as("isFantasy") ) );
Swift
let result = try await db.pipeline() .collection("authors") .select([ Field("genre").toLower().equal("fantasy") .as("isFantasy") ]) .execute()
Kotlin
val result = db.pipeline() .collection("authors") .select( field("genre").toLower().equal("fantasy") .alias("isFantasy") ) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("authors") .select( field("genre").toLower().equal("fantasy") .alias("isFantasy") ) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("authors") .select(Field.of("genre").to_lower().equal("fantasy").as_("isFantasy")) .execute() )
Java
Pipeline.Snapshot result = firestore .pipeline() .collection("authors") .select(equal(toLower(field("genre")), "fantasy").as("isFantasy")) .execute() .get();
Go
snapshot := client.Pipeline(). Collection("authors"). Select(firestore.Fields( firestore.Equal(firestore.ToLower(firestore.FieldOf("genre")), "fantasy").As("isFantasy"), )). Execute(ctx)
SUBSTRING
Söz dizimi:
substring[T <: STRING | BYTES](input: T, position: INT64) -> T
substring[T <: STRING | BYTES](input: T, position: INT64, length: INT64) -> T
Açıklama:
input dizesinin, position (sıfır tabanlı dizin) konumunda başlayan ve en fazla length giriş içeren bir alt dizesini döndürür. length sağlanmazsa position ile input arasındaki alt dizeyi döndürür.
inputbirSTRINGdeğeri isepositionvelength, Unicode kod noktalarıyla ölçülür.BYTESdeğeri ise bayt cinsinden ölçülür.position,inputuzunluğundan büyükse boş bir alt dize döndürülür.positionilelengthtoplamıinputuzunluğundan büyükse alt dize,inputsonuna kadar kısaltılır.positionnegatifse konum, girişin sonundan alınır. Negatifposition, girişin boyutundan büyükse konum sıfır olarak ayarlanır.lengthnegatif olmamalıdır.
Örnekler:
length sağlanmadığında:
| giriş | position | substring(input, position) |
|---|---|---|
| "abc" | 0 | "abc" |
| "abc" | 1 | "bc" |
| "abc" | 3 | "" |
| "abc" | -1 | "c" |
| b"abc" | 1 | b"bc" |
length sağlandığında:
| giriş | position | uzunluk | substring(input, position, length) |
|---|---|---|---|
| "abc" | 0 | 1 | "a" |
| "abc" | 1 | 2 | "bc" |
| "abc" | -1 | 1 | "c" |
| b"abc" | 0 | 1 | b"a" |
Node.js
const result = await db.pipeline() .collection("books") .where(field("title").startsWith("The ")) .select( field("title").substring(4) .as("titleWithoutLeadingThe") ) .execute();
Web
const result = await execute(db.pipeline() .collection("books") .where(field("title").startsWith("The ")) .select( field("title").substring(4) .as("titleWithoutLeadingThe") ) );
Swift
let result = try await db.pipeline() .collection("books") .where(Field("title").startsWith("The ")) .select([ Field("title").substring(position: 4) .as("titleWithoutLeadingThe") ]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .where(field("title").startsWith("The ")) .select( field("title") .substring(constant(4), field("title").charLength().subtract(4)) .alias("titleWithoutLeadingThe") ) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .where(field("title").startsWith("The ")) .select( field("title").substring( constant(4), field("title").charLength().subtract(4)) .alias("titleWithoutLeadingThe") ) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("books") .where(Field.of("title").starts_with("The ")) .select(Field.of("title").substring(4).as_("titleWithoutLeadingThe")) .execute() )
Java
Pipeline.Snapshot result = firestore .pipeline() .collection("books") .where(startsWith(field("title"), "The ")) .select( substring(field("title"), constant(4), field("title").charLength()) .as("titleWithoutLeadingThe")) .execute() .get();
Go
snapshot := client.Pipeline(). Collection("books"). Where(firestore.StartsWith(firestore.FieldOf("title"), "The ")). Select(firestore.Fields( firestore.Substring(firestore.FieldOf("title"), firestore.ConstantOf(4), firestore.FieldOf("title").CharLength()).As("titleWithoutLeadingThe"), )). Execute(ctx)
STRING_REVERSE
Söz dizimi:
string_reverse[T <: STRING | BYTES](input: T) -> T
Açıklama:
Sağlanan girişi ters sırada döndürür.
Giriş STRING olduğunda karakterler Unicode kod noktalarıyla, giriş BYTES değeri olduğunda ise baytlarla tanımlanır.
Örnekler:
| giriş | string_reverse(input) |
|---|---|
| "abc" | "cba" |
| "a🌹b" | "b🌹a" |
| "merhaba" | "olleh" |
| b"abc" | b"cba" |
Node.js
const result = await db.pipeline() .collection("books") .select( field("name").reverse().as("reversedName") ) .execute();
Web
const result = await execute(db.pipeline() .collection("books") .select( field("name").reverse().as("reversedName") ) );
Swift
let result = try await db.pipeline() .collection("books") .select([ Field("name").reverse().as("reversedName") ]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select( field("name").reverse().alias("reversedName") ) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select( field("name").reverse().alias("reversedName") ) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("books") .select(Field.of("name").string_reverse().as_("reversedName")) .execute() )
Java
Pipeline.Snapshot result = firestore .pipeline() .collection("books") .select(reverse(field("name")).as("reversedName")) .execute() .get();
Go
snapshot := client.Pipeline(). Collection("books"). Select(firestore.Fields( firestore.Reverse(firestore.FieldOf("name")).As("reversedName"), )). Execute(ctx)
STRING_REPEAT
Söz dizimi:
string_repeat[T <: STRING | BYTES](input: T, repetitions: INT64) -> T
Açıklama:
input dizesini repetitions kez tekrarlayarak döndürür.
repetitions, negatif olmayan bir tam sayı olmalıdır.repetitions,0iseinputile aynı türde boş bir değer döndürür.- Sonuç, izin verilen maksimum boyutu (1 MB) aşarsa hata döndürülür.
Örnekler:
| giriş | tekrarlar | string_repeat(input, repetitions) |
|---|---|---|
| "foo" | 3 | "foofoofoo" |
| "foo" | 0 | "" |
| "a " | 3 | "a a a " |
| b"ab" | 2 | b"abab" |
| "é🦆" | 2 | "é🦆é🦆" |
STRING_REPLACE_ALL
Söz dizimi:
string_replace_all[T <: STRING | BYTES](input: T, find: T, replacement: T) -> T
Açıklama:
input içindeki tüm çakışmayan find örneklerini replacement ile değiştirir.
- Eşleşmeler büyük/küçük harfe duyarlıdır.
findboşsa herhangi bir değişiklik yapılmaz.
Örnekler:
| giriş | bul | değiştirme | string_replace_all(input, find, replacement) |
|---|---|---|---|
| "foobarfoo" | "foo" | "baz" | "bazbarbaz" |
| "ababab" | "aba" | "c" | "cbab" |
| "foobar" | "o" | "" | "fbar" |
| "é🦆🌎🦆" | "🦆" | "a" | "éa🌎a" |
| b"abc" | b"b" | b"d" | b"adc" |
STRING_REPLACE_ONE
Söz dizimi:
string_replace_one[T <: STRING | BYTES](input: T, find: T, replacement: T) -> T
Açıklama:
input içindeki ilk find dizesini replacement ile değiştirir.
- Eşleşmeler büyük/küçük harfe duyarlıdır.
findboşsa herhangi bir değişiklik yapılmaz.
Örnekler:
| giriş | bul | değiştirme | string_replace_one(input, find, replacement) |
|---|---|---|---|
| "foobarfoo" | "foo" | "baz" | "bazbarfoo" |
| "é" | "é" | "a" | "a" |
| b"foobar" | b"o" | b"z" | b"fzoobar" |
TRIM
Söz dizimi:
trim[T <: STRING | BYTES](input: T, values_to_trim: T) -> T
trim[T <: STRING | BYTES](input: T) -> T
Açıklama:
Sağlanan input değerinin başından ve sonundan belirtilen bir BYTES veya CHARS kümesini kırpar.
values_to_trimsağlanmazsa boşluk karakterlerini kırpar.
Örnekler:
values_to_trim sağlanmadığında:
| giriş | trim(input) |
|---|---|
| " foo " | "foo" |
| b" foo " | b"foo" |
| "foo" | "foo" |
| "" | "" |
| " " | "" |
| "\t foo \n" | "foo" |
| b"\t foo \n" | b"foo" |
| "\r\f\v foo \r\f\v" | "foo" |
| b"\r\f\v foo \r\f\v" | b"foo" |
values_to_trim sağlandığında:
| giriş | values_to_trim | trim(input, values_to_trim) |
|---|---|---|
| "abcbfooaacb" | "abc" | "foo" |
| "abcdaabadbac" | "abc" | "daabad" |
| b"C1C2C3" | b"C1" | b"C2C3" |
| b"C1C2" | "foo" | hata |
| "foo" | b"C1" | hata |
Web
const result = await execute(db.pipeline() .collection("books") .select( field("name").trim().as("whitespaceTrimmedName") ) );
Swift
let result = try await db.pipeline() .collection("books") .select([ Field("name").trim(" \n\t").as("whitespaceTrimmedName") ]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select( field("name").trim().alias("whitespaceTrimmedName") ) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select( field("name").trim().alias("whitespaceTrimmedName") ) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("books") .select(Field.of("name").trim().as_("whitespaceTrimmedName")) .execute() )
Java
Pipeline.Snapshot result = firestore .pipeline() .collection("books") .select(trim(field("name")).as("whitespaceTrimmedName")) .execute() .get();
Go
snapshot := client.Pipeline(). Collection("books"). Select(firestore.Fields( firestore.Trim(firestore.FieldOf("name")).As("whitespaceTrimmedName"), )). Execute(ctx)
LTRIM
Söz dizimi:
ltrim[T <: STRING | BYTES](value: T, to_trim: T) -> T
ltrim[T <: STRING | BYTES](value: T) -> T
Açıklama:
Sağlanan value değerinin başından, belirtilen bir BYTES veya CHARS kümesini kırpar.
to_trimsağlanmazsa baştaki boşluk karakterlerini kırpar.
Örnekler:
to_trim sağlanmadığında:
| value | ltrim(value) |
|---|---|
| " foo " | "foo " |
| "foo" | "foo" |
to_trim sağlandığında:
| value | to_trim | ltrim(value, to_trim) |
|---|---|---|
| "aaabc" | "a" | "bc" |
| "abacaba" | "ba" | "caba" |
| "é" | "é" | "" |
RTRIM
Söz dizimi:
rtrim[T <: STRING | BYTES](value: T, to_trim: T) -> T
rtrim[T <: STRING | BYTES](value: T) -> T
Açıklama:
Sağlanan value değerinin sonundan belirtilen BYTES veya CHARS kümesini kırpar.
to_trimsağlanmazsa sondaki boşluk karakterlerini kırpar.
Örnekler:
to_trim sağlanmadığında:
| value | rtrim(value) |
|---|---|
| " foo " | " foo" |
| "foo" | "foo" |
to_trim sağlandığında:
| value | to_trim | rtrim(value, to_trim) |
|---|---|---|
| "abccc" | "c" | "ab" |
| "abacaba" | "ba" | "abac" |
| "é" | "é" | "" |
SPLIT
Söz dizimi:
split(input: STRING) -> ARRAY<STRING>
split[T <: STRING | BYTES](input: T, delimiter: T) -> ARRAY<T>
Açıklama:
Sınırlayıcı kullanarak STRING veya BYTES değerini böler.
STRINGiçin varsayılan ayırıcı, virgüldür,. Sınırlayıcı, tek bir dize olarak değerlendirilir.BYTESiçin bir ayırıcı belirtmeniz gerekir.Boş bir sınırlayıcıya göre bölme işlemi,
STRINGdeğerleri için Unicode kod noktaları dizisi veBYTESdeğerleri içinBYTESdizisi oluşturur.Boş bir
STRINGbölündüğünde tek bir boşSTRINGiçeren birARRAYdöndürülür.
Örnekler:
delimiter sağlanmadığında:
| giriş | split(input) |
|---|---|
| "foo,bar,foo" | ["foo", "bar", "foo"] |
| "foo" | ["foo"] |
| ",foo," | ["", "foo", ""] |
| "" | [""] |
| b"C120C2C4" | hata |
delimiter sağlandığında:
| giriş | ayırıcı | split(input, delimiter) |
|---|---|---|
| "foo bar foo" | " " | ["foo", "bar", "foo"] |
| "foo bar foo" | "z" | ["foo bar foo"] |
| "abc" | "" | ["a", "b", "c"] |
| b"C1,C2,C4" | b"," | [b"C1", b"C2", b"C4"] |
| "ABC" | b"" | [b"A", b"B", b"C"] |
| "foo" | b"C1" | hata |